【发布时间】:2014-11-24 05:20:36
【问题描述】:
我想围绕一组点渲染动态变化半径的实心圆,这些点的二维坐标存储在 VBO 中。到目前为止,我使用的是 GL_POINT_SMOOTH,但现在已经转移到 OpenGL 4.0,这个选项不再可用。我看到了一个类似的问题here,但这并不完全适合我的需要,因为该示例中的圆心在片段着色器中是硬编码的。我该怎么做?
目前,我的顶点着色器如下所示:
#version 400
layout(location=0) in vec2 in_Position;
layout(location=1) in vec4 in_Color;
out vec4 ex_Color;
uniform vec4 bounds;
void main(void){
float x = -1+2/(bounds.y-bounds.x)*(in_Position.x-bounds.x);
float y = -1+2/(bounds.w-bounds.z)*(in_Position.y-bounds.z);
gl_Position = vec4(x,y,0,1);
ex_Color = in_Color;
}
我的片段着色器看起来像这样:
#version 400
in vec4 ex_Color;
out vec4 out_Color;
void main(void){
out_Color = ex_Color;
}
使用这些着色器,我得到了方形点。
【问题讨论】:
标签: opengl-4