我观察到无论我启用还是禁用GL_PROGRAM_POINT_SIZE, glPointSize(...)在我的主程序中总是被忽略,着色器代码行gl_PointSize = ...总是决定点的大小。
这是较新 OpenGL 版本的预期行为,还是我必须怀疑我的代码中存在错误?
OpenGL 4.5 规范非常清楚:
如果禁用程序点大小模式,则使用命令指定导出的点大小
Run Code Online (Sandbox Code Playgroud)void PointSize(float size);...
通过对target调用Enable或Disable来启用和禁用程序点大小模式。
PROGRAM_POINT_SIZE
所以这要么是实现中的错误,要么是您没有显示的代码中的错误。