我在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
对其进行着色,但我想以不同的颜色在其周围绘制轮廓。有没有办法做到这一点?
答案 0 :(得分:2)
如果你使用纹理来确定点的形状,那么做轮廓的明显方法是添加第二个纹理以在顶部绘制点的轮廓。
轮廓纹理也是白色的,所以你可以用同样的颜色将它染成你喜欢的任何颜色。
根据您使用的Alpha混合模式,这也可用于产生“发光”边缘效果。