gpt4 book ai didi

opengl - glsl double 顶点缓冲区

转载 作者:行者123 更新时间:2023-12-02 00:21:16 26 4
gpt4 key购买 nike

如果我创建一个 double 顶点缓冲区,例如:

GLuint vertBuffer, spanBuffer, spanCount, patchSize, program; // already setup
glUseProgram (program);
glEnableClientState (GL_VERTEX_ARRAY);
glBindBuffer (GL_ARRAY_BUFFER, vertBuffer);
glVertexPointer (3, GL_DOUBLE, 0, 0);
glPatchParameteri (GL_PATCH_VERTICES, patchSize);
glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, spanBuffer);
glDrawElements (GL_PATCHES, spanCount * patchSize, GL_UNSIGNED_INT, 0);

如何访问我的顶点着色器中的 double 据?我应该能够做到这一点吗?

// GLSL VERTEX SHADER
#version 410

in dvec4 gl_Vertex;

void main ()
{
<snip>

最佳答案

你不知道。至少,不是那样。

如果您想使用 OpenGL 4.x+ 的能力将 double 值读入您的着色器,那么您必须使用通用顶点属性。您不能再使用旧的固定功能 gl_VertexglVertexPointer。您必须使用 glVertexAttribLPointer ,具有适当的通用顶点属性索引。

关于opengl - glsl double 顶点缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com