【发布时间】:2012-06-01 02:46:29
【问题描述】:
我在 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 对其进行着色,但我想在它周围绘制一个不同颜色的轮廓。有没有办法做到这一点?
【问题讨论】:
-
如果它只是纯白色,你根本不需要纹理:-) 你还想要什么样的轮廓?任意颜色的细线?边缘“发光”?渐变填充到边缘?这很大程度上取决于你想要达到什么样的艺术效果......
-
我正在使用纹理来改变点的形状。这似乎要快得多,因为我仍然可以使用 GL_POINTS 而不是创建具有该形状的多边形。对于轮廓,我只是想得到一条任意颜色的细线。