1

我在 OpenGL (JOGL) 中绘制了一些点,如下所示:

BufferedImage image = loadMyTextureImage();
Texture tex = TextureIO.newTexture(image, false);
tex.setTexParameteri(GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
tex.setTexParameteri(GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
tex.bind();

gl.glColor4f(r,g,b,a);        
gl.glBegin(GL_POINTS);
for ( int i = 0; i < numPoints; i++ ) {
   // compute x,y,z
   gl.glVertex3f(x,y,z);
}
gl.glEnd();

image的是白色图像,所以我可以重复使用相同的纹理并使用 对其进行着色gl.glColor4f,但我想用不同的颜色在它周围绘制轮廓。有没有办法做到这一点?

4

1 回答 1

2

如果您使用纹理来确定点的形状,那么绘制轮廓的明显方法是添加第二个纹理以在顶部绘制点的轮廓。

轮廓纹理也将是白色的,因此您可以以相同的方式将其着色为您喜欢的任何颜色。

根据您使用的 alpha 混合模式,这也可用于提供“发光”边缘效果。

于 2012-06-01T03:13:16.443 回答