作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我几乎完全按照 2 规范编写 OpenGL,对 3 和 4 规范知之甚少。我在某个论坛上读到,后来的 OpenGL 规范基本上只是将数据提供给着色器,它们完成了所有真正的工作。这与我理解的 OpenGL 和着色器作为照明、水和其他效果等辅助工具的东西形成鲜明对比我充其量对着色器有一个非常基本的了解,并且在前面提到的任何主题中被证明是错误的也不会感到惊讶。我只是想进一步了解
谢谢
最佳答案
你的理解是正确的。在 OpenGL 3.0 中,几乎所有的固定功能都被弃用,取而代之的是着色器。即使是可从着色器访问的内置内容也已弃用,例如模型 View /投影矩阵、顶点坐标、法线、灯光等。
基本的工作流程应该如下:
glDrawElements
或 glDrawArrays
因此,您将进行的大多数 OpenGL 调用都只是推送通用数据。您将调用像 glUniform4f
这样的通用函数,而不是像 glLightfv
这样的状态函数。
关于opengl - 后来的 OpenGL 规范——不仅仅是着色器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480309/
我是一名优秀的程序员,十分优秀!