- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道在 opengl 循环中究竟何时调用了顶点和片段着色器。它是在 glutDisplayFunc() 或 glutMainLoop() 的末尾,还是在每个顶点绘制调用中?顶点和片段是一个接一个地连续调用(即:顶点然后片段),还是完全不同的时间?
假设我有以下代码片段:
glPushMatrix();
glRotatef(rot,0.0f,1.0f,0.0);
glTranslatef(0.0f,0.0f,25);
glColor3f(0.0,0.0,1.0);
drawSphere(4,20,20); // draw triangles
glColor3f(1.0,0.0,0.0);
glTranslatef(0.0f,0.0f,5);
drawSphere(4,20,20); // draw triangles
glPopMatrix();
是否在每次调用顶点后调用顶点着色器,然后读取堆栈顶部的当前矩阵,然后将预定义的 ModelView 矩阵统一发送到顶点着色器?片段着色器何时运行?
最佳答案
Is it at the end of your glutDisplayFunc() or glutMainLoop(),
都不是,因为 GLUT 不是 OpenGL 的一部分。它只是一些库(用于创建简单的 OpenGL 应用程序)。
or is it at every vertex draw call?
从程序员的角度来看,它并没有具体说明具体发生的时间。 OpenGL 有一个命令队列,并且断言在它们进入命令队列并到达所谓的“同步点”之间要处理的事情。同步点是在 OpenGL 上下文之外使用或传输数据的任何命令(如使用 glReadPixels
读取的图像),由以前的 OpenGL 命令生成。
对于所有实际方法,您可以假设一旦指定了整个基元,顶点和片段就会得到处理。因此,如果您绘制三角形,那么每获得 3 个顶点,您就需要绘制一个三角形并开始处理它。
关于c++ - GLSL - 何时何地调用顶点和片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23216513/
我有使用 namespace 的代码,其中有一些,我的大脑有些困惑。 如果我有类似的东西: #include protected: vector mRegistryList; 编译器提示 v
是否有好的算法/分词器/正则表达式或其他一些技术可以检测用户输入的英语句子的哪一部分是“谁”、“什么”、“何时”和“哪里”? 理想情况下,它可以在 Elasticsearch 或 javascript
我因使用 uint 而不是 size_t 而受到很多批评,但每次我检查我正在使用的工具链时都会发现 size_t 被定义为一个 uint。 是否有任何编译器实现中 size_t 实际上不是 uint?
在使用 MongoDB 的应用程序中,何时/何地是进行关系数据库中迁移的数据库更改的最佳位置? 比如创建索引或者设置shard key应该如何管理?这段代码应该去哪里? 最佳答案 最好有意识地在 sh
我是一名优秀的程序员,十分优秀!