我阅读的一篇教程 特别推荐使用glVertexAttribIPointer来处理整数数据,将数据上传到着色器中的ivec4数据类型中。
我想知道为什么不能使用GL_INT数据类型来使用glVertexAttribPointer。为什么会破坏我的数据?查看API参考并没有提示。
VertexAttribIPointer
不可用,所以我不得不使用glVertexAttribPointer(..., ..., GL_INT,...
将整数传递给着色器作为in vec4
,然后我进行了逐段整数转换,看起来在我的驱动程序上可以工作,这是你所说的即使这在你的硬件上可以工作,你也不应该这样做的意思吗?还是你特别指的是ivec4
?谢谢。 - undefinedglVertexAttribPointer
中使用GL_INT
,但正如你所说,输入类型将变为vec4
(浮点类型),而不是ivec4
(整数类型)。glVertexAttribIPointer
的目的是让你可以使用ivec4
和其他类似的输入类型。 - undefined