在C#中使用OpenGL

在C#中使用OpenGL

Posted by LCY on November 12, 2018

转载: 在C#中如何使用OpenGL

  • 首先了解一下什么是OpenGL和OpenCV,是用来做什么的,可详细查看相关博客
  • Language Blinding(语言绑定):主要就是实现某一语言使用非这一语言编写的库,尽可能的实现代码重用,这就使在C#中使用OpenGL(使用c语言编写)称为可能。关于OpenGL的语言绑定,请访问链接

  • 为什么选择OpenTK,访问OpenTK an excellent replacement for OpenGL in c#

对于C#而言,可以选择很多OpenGL框架,如tao.OpenGL(几乎已经过时,不建议选用,在catmao博客中提供了一些demo,可以参考学习tao.OpenGL)、OpenTK(资料相对丰富)等,接下来主要是关于OpenTK的一些资料,在下面做一个整理,方便你我他。


我是分界线

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

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

安装##

  1. 可以直接访问GitHub或者SourceForge进行下载和傻瓜安装即可。
  2. 关于GLcontrol控件安装出现问题,请参考

我的解决方案: 直接使用nuget安装管理器或者nuget控制台程序,添加OpenTK.dll、OpenTK.GLControl.dll(这里不用管版本,反正最新的ver3.0.1是可以使用的),直接使用添加的OpenTK.GLControl.dll到工具箱是会出现问题的。需要先选择.net版本(4.6.1通过),编译平台x86或x64,然后build,成功后在debug文件夹中查找相应的OpenTK.GLControl.dll,将此OpenTK.GLControl.dl拖拽到工具箱是可以实现添加的。

note:在程序中直接使用nuget插件管理相应的应用,便于更新等

##入门教程##

##关于点云等##

demo或者project

  1. Fast Point Cloud Viewer with C# and OpenGL 说明:
  • 可以将其作为一个控件嵌入到winform中,可以参考视频,在这里可以考虑怎么直接将其应用到项目中,但只能加载.obj格式的点云数据,需要进行相关修改。
  • 最新代码访问链接