如何更改顶点着色器中的gl_PointSize?

Fah*_*ahd 5 c++ opengl glsl

我正在优化我的粒子渲染器以供使用GL_POINTS,现在我需要调整顶点着色器中使用的点的大小gl_PointSize,以从顶点着色器将粒子缩放到正确的量。这是我现在拥有的顶点着色器:

#version 330 core

layout (location = 0) in vec3 position;
layout (location = 1) in uint uv;

uniform mat4 projection;
uniform mat4 view;

void main(){
    gl_PointSize = 10; // No difference with gl_PointSize = 1000
    gl_Position = projection * view * vec4(position, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

在顶点着色器中更改时,更改gl_PointSize似乎没有什么区别。

Rab*_*d76 4

您必须启用GL_PROGRAM_POINT_SIZE(请参阅glEnablegl_PointSize):

glEnable(GL_PROGRAM_POINT_SIZE);
Run Code Online (Sandbox Code Playgroud)