如何获取当前在 OpenGL 中处理的顶点的索引

问题描述 投票:0回答:0

是否有其他方法可以获取当前在 opengl 中处理的顶点的索引? 下面的代码旨在为 3d 空间渲染一个平面。为了更容易地获取当前正在处理的顶点的索引,我使用了“gl_VertexIndex”,结果只对 vulkan 可用。

#version 430
#extension GL_KHR_vulkan_glsl : enable

uniform mat4 viewMatrix;
uniform mat4 projection;
uniform vec3 position;

vec3 Planes[6] = vec3[](
    vec3(1, 1, 0), vec3(-1, -1, 0), vec3(-1, 1, 0),
    vec3(-1, -1, 0), vec3(1, 1, 0), vec3(1, -1, 0)
);

void main() {
    gl_Position = projection * viewMatrix * vec4(Plane[gl_VertexIndex].xyz, 1.0);
}

是否有其他方法可以获取当前在 opengl 中处理的顶点的索引?

我尝试使用 gl_VertexIndex 来获取当前正在处理的顶点的索引。我还使用了“#extension GL_KHR_vulkan_glsl : enable”以便能够在我的 glsl for opengl 上使用它。但是它没有在屏幕上呈现任何东西。

opengl c++17 glsl opengl-4
© www.soinside.com 2019 - 2024. All rights reserved.