ping-code

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

OpenGL入门——浅谈OpenGL

OpenGL入门了很多次,但是一旦踏出一段时间,就又啥也不懂,从头开始。
以前只是需要用的时候草草学一下怎么用,会套用就行,没让自己停下来认真思考消化......

短时间看效率高,长时间看效率低,因为每次使用都得重新搜索学习。

所以想在再次入门的时候记录点东西,整理一下自己的思绪,以后有时间再再再无限次回顾复盘!

 

OpenGL(Open Graphics Library)一般被看作是用于渲染2D、3D矢量图形的API(Application Programming Interface, 应用程序编程接口),但其实它不是一个API,它只是一个被严格规定了每个函数该如何运行,以及它们的输出值的规范。至于内部的具体实现方法是由编写openGL库的人决定的,只要功能和输出值是与规范一致的即可。

实际openGL库的开发者通常是显卡的生产商,我们使用的显卡所支持的openGL版本,就是专门为这个系列显卡开发的。所以OpenGL允许使用不同的方式实现,只要其表现行为(功能和输出值)与规范规定的一致。

当产生与规范不一致的bug时,只要更新显卡驱动可能就解决了,可见时常更新显卡驱动是有必要的。

 

最早接触opengl的时候还是立即渲染模式(Immediate mode,固定渲染管线),这个模式简单易用,因为它把大多数功能用库隐藏起来了,但也正因如此,使得它灵活性差,降低了效率。开发人员还是更希望能够自己掌握绘制渲染的细节,所以也就出现了核心模式(Core-profile)。核心模式完全移除了旧特性,当我们在这个模式下使用已废弃的函数(如:固定功能渲染的glBegin、glEnd、glVertex...)时就会报错并终止绘制,这迫使我们使用现代函数。虽然现代函数比较难学,但它灵活性更高、效率更高!所以还是值得去努力学习的,更重要的是它更有益于深入理解图形编程。

 

在大势所趋的情况下,我打算再次重新认真地学一下如何在核心模式下使用现代函数进行OpenGL编程。

posted on   一只小瓶子  阅读(446)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示