Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL-从顶点着色器访问缓冲区中的下3个顶点_C++_Opengl_Interpolation_Vbo_Vertex Shader - Fatal编程技术网

C++ OpenGL-从顶点着色器访问缓冲区中的下3个顶点

C++ OpenGL-从顶点着色器访问缓冲区中的下3个顶点,c++,opengl,interpolation,vbo,vertex-shader,C++,Opengl,Interpolation,Vbo,Vertex Shader,我在一个世界上放置了一堆方形瓷砖,使用2个从矢量阵列馈送的缓冲区,一个用于颜色,另一个用于位置。三角形顶点颜色不是平滑的,因为它们不会在正方形中的两个三角形之间插值。为了解决这个问题,我想分别设置每个片段的颜色,手动混合顶点的颜色。我也不能用预先制作的纹理替代这个过程 我遇到的问题是将缓冲区中接下来的3个顶点的位置和位置传递到顶点着色器中。有什么简单的方法可以做到这一点吗 谢谢,祝你今天愉快 添加另一组属性,并将glvertexattributepointer设置为指向顶点位置缓冲区,但带有偏移

我在一个世界上放置了一堆方形瓷砖,使用2个从矢量阵列馈送的缓冲区,一个用于颜色,另一个用于位置。三角形顶点颜色不是平滑的,因为它们不会在正方形中的两个三角形之间插值。为了解决这个问题,我想分别设置每个片段的颜色,手动混合顶点的颜色。我也不能用预先制作的纹理替代这个过程

我遇到的问题是将缓冲区中接下来的3个顶点的位置和位置传递到顶点着色器中。有什么简单的方法可以做到这一点吗


谢谢,祝你今天愉快

添加另一组属性,并将
glvertexattributepointer
设置为指向顶点位置缓冲区,但带有偏移量。请记住,在数组末尾添加一点伪填充,这样当到达数组末尾时,您就不会访问超出范围的内容。在这种情况下,
…\u邻接
绘图模式也很有用(如果可用)。

顶点颜色不在两个tris之间插值是什么意思?你能添加图像吗?在顶点着色器中,没有简单的方法可以获得多个顶点,但我相信您的问题可能还有另一个解决方案。@JeremyLaumon这是一个很好的例子,说明顶点照明不会在我的平铺中的tris之间插值,因为它使用重心过滤而不是双线性,因为我希望它感谢您@DatenWalf!为了让它正确地实现,我不得不做大量的修改,但是提到offset参数使我朝着正确的方向前进。非常感谢你