OpenTK 入门系列

简介:

The Open Took Kit (OpenTK), 是对 OpenGL、OpanAL、OpenCL 的跨平台的封装,使用 C# 编写,可以运行在 Windows、 Linux 以及 MacOSX 平台上, 任何 .Net 语言都可以使用它做开发。

主要特点如下:

  • 快速开发 
    使用 .Net 的强类型和内嵌的注释文档, 提高代码流程,并且有助于快速发现错误。
  • 集成 
    可以单独使用,也可以无缝集成到 Windows Forms、 WPF 或 GTK# 等其它应用程序中。
  • 完全免费 
    MIT/X11 协议发行,完全免费。

网络上 OpenGL 的资源可以说是非常多, 但是针对 OpenTK 的资源就很少,因此特将自己写的一些入门的代码共享给出来,这些代码只涉及 OpenGL ,OpenAl 和OpenCL 未涉及, 如果你已经具有一些 OpenGL 或者 DirectX 的基础的话,阅读这些代码并不难。

image  从0开始,设置一个可用的 OpenGL 窗口。
image 进行最简单的贴图
image 在OpenGl中简单旋转一个物体
image 在 OpenGL 窗口中同时分别旋转两个不同的物体
image 在 OpenGL 窗口中使用倒影
image 在 OpenGL 窗口中使用倒影反射
image 使用 OpenGL 光照效果
image 在 OpenGL 窗口中进行简单的碰撞检测
image 使用 OpenGL 进行简单的地形渲染
image 使用 OpenGL 创建球体,并进行贴图
image 创建一个简单的粒子系统

下载以上例子的源代码, 至于OpenTK的源代码就自己下载吧,这里不提供了,如果你的机子不是太旧的话,应该都可以运行的,我用的机器较旧,ATI Radeon 9500的显卡,支持 OpenGL 2.0 ,这些粒子都可以运行, 如果你的机子的显卡比这个还旧的话,可能会无法运行。

主要的参考网站:Swiftless OpenGL TutorialsGPWiki OpenGL Tutorials,以及The Open Toolkit Manual

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/

本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2009/10/17/1585040.html ,如需转载请自行联系原作者
相关文章
|
应用服务中间件 Linux 网络安全
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
940 0
|
C# Windows
wpf怎么使用WindowsFormsHost(即winform控件)
原文:wpf怎么使用WindowsFormsHost(即winform控件) 使用方法:   1、首先,我们需要向项目中的引用(reference)中添加两个动态库dll,一个是.
5967 0
|
9月前
|
关系型数据库 分布式数据库 数据库
一库多能:阿里云PolarDB三大引擎、四种输出形态,覆盖企业数据库全场景
PolarDB是阿里云自研的新一代云原生数据库,提供极致弹性、高性能和海量存储。它包含三个版本:PolarDB-M(兼容MySQL)、PolarDB-PG(兼容PostgreSQL及Oracle语法)和PolarDB-X(分布式数据库)。支持公有云、专有云、DBStack及轻量版等多种形态,满足不同场景需求。2021年,PolarDB-PG与PolarDB-X开源,内核与商业版一致,推动国产数据库生态发展,同时兼容主流国产操作系统与芯片,获得权威安全认证。
|
9月前
|
存储 API 数据安全/隐私保护
使用宝塔搭建MinIO并且设置域名访问
本文介绍了如何使用宝塔面板搭建MinIO并设置域名访问的完整流程。首先通过宝塔面板安装Docker及MinIO,配置域名与端口,完成Web管理界面的部署。接着,创建存储桶、配置访问规则和API密钥,实现资源的安全管理。最后,通过反向代理设置API接口,测试文件上传功能,确保MinIO可用于图片和文件资源的存储。作者Harry技术还分享了相关开源项目,适合开发者快速上手。
1860 2
使用宝塔搭建MinIO并且设置域名访问
|
传感器 人工智能 监控
《数据流驱动:C++构建 AI 模型持续学习新范式》
本文探讨了如何利用C++开发基于数据流的人工智能模型持续学习系统,覆盖了从数据接入、预处理、模型训练与更新、评估监控到输出应用的全流程。文章强调了C++在处理实时数据流、确保系统实时性和效率方面的独特优势,并讨论了其在物联网、金融、工业自动化等领域的应用前景,以及未来技术发展趋势。
502 9
|
Ubuntu Unix Linux
Linux专栏01:Linux发展历史及背景介绍
Linux专栏01:Linux发展历史及背景介绍
908 0
|
编解码
Open3D Voxelization 体素化
Open3D Voxelization 体素化
523 1
|
存储 数据采集 自然语言处理
FastGPT知识库结构讲解
FastGPT知识库结构讲解
1283 0
|
JavaScript Java 测试技术
基于微信小程序的医院挂号系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的医院挂号系统的设计与实现(源码+lw+部署文档+讲解等)
223 1
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现(一)
毕业设计:微信小程序健康管理系统的开发与实现
732 0
毕业设计:微信小程序健康管理系统的开发与实现(一)