首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中使用OpenGl?

在C#中使用OpenGl?
EN

Stack Overflow用户
提问于 2009-02-11 09:22:54
回答 9查看 168.4K关注 0票数 120

是否有针对C#的免费OpenGL支持库?如果是这样,我应该使用哪一个,在哪里可以找到示例项目?

C#是否为OpenGL提供类?

EN

回答 9

Stack Overflow用户

发布于 2009-05-07 15:53:17

OpenTK是对Tao API的改进,因为它使用惯用的C#样式和重载、强类型枚举、异常和标准.NET类型:

代码语言:javascript
复制
GL.Begin(BeginMode.Points);
GL.Color3(Color.Yellow);
GL.Vertex3(Vector3.Up);

与仅镜像C API的Tao相反:

代码语言:javascript
复制
Gl.glBegin(Gl.GL_POINTS);   // double "gl" prefix
Gl.glColor3ub(255, 255, 0); // have to pass RGB values as separate args
Gl.glVertex3f(0, 1, 0);     // explicit "f" qualifier

这使得移植变得更加困难,但使用起来却非常好。

作为额外的好处,它提供了字体渲染,纹理加载,输入处理,音频,数学...

更新2016年1月18日:今天的OpenTK维护者有了stepped away from the project,留下了它的未来不确定。论坛里充斥着垃圾信息。维护者建议迁移到MonoGame或SDL2#。

更新2020年6月30日:OpenTK已经有了一段时间的新维护者,并且有一个活跃的不和谐社区。因此,之前推荐使用另一个库的说法并不一定正确。

票数 131
EN

Stack Overflow用户

发布于 2009-05-07 15:26:52

我认为@korona的意思是因为它只是一个C应用程序接口,你可以直接从C#中使用它,只需像下面这样大量的输入:

代码语言:javascript
复制
[DllImport("opengl32")]
public static extern void glVertex3f(float x, float y, float z);

不幸的是,您需要为您调用的每个OpenGL函数执行此操作,这基本上就是Tao为您所做的事情。

票数 17
EN

Stack Overflow用户

发布于 2009-02-11 09:35:15

Tao被认为是一个很好的框架。

在他们的网站上:

.NET的Tao框架是一个绑定集合,用于促进利用.NET和Mono平台的跨平台媒体应用程序开发。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/536065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档