From 90692775736023bffa248ce5adc133e41074e1ee Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 27 Nov 2013 19:36:43 -0500 Subject: [PATCH] Give smoke quads random rotation to reduce artifacts from repitition --- swing/resources/datafiles/flame/smokeShader.glsl | 2 +- .../openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/swing/resources/datafiles/flame/smokeShader.glsl b/swing/resources/datafiles/flame/smokeShader.glsl index 21255931b..9ccae6260 100644 --- a/swing/resources/datafiles/flame/smokeShader.glsl +++ b/swing/resources/datafiles/flame/smokeShader.glsl @@ -4,7 +4,7 @@ uniform sampler2D uSmoke; void main(void) { vec3 normal = 2.0 * texture2D (uNormal, gl_TexCoord[0].st).rgb - 1.0; - normal = normalize (normal); + normal = normalize (gl_NormalMatrix * normal); float lamberFactor = max (dot (gl_LightSource[1].position.xyz, normal), 0.0) ; diff --git a/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java b/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java index af7cdd0cb..d7e16cbb8 100644 --- a/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java +++ b/swing/src/net/sf/openrocket/gui/figure3d/photo/exhaust/FlameRenderer.java @@ -308,7 +308,8 @@ public final class FlameRenderer { mvmatrix[1] = mvmatrix[2] = mvmatrix[4] = mvmatrix[6] = mvmatrix[8] = mvmatrix[9] = 0; gl.glLoadMatrixd(mvmatrix, 0); - //TODO Add a random rotation to prevent artifacts from texture. + //Add a random rotation to prevent artifacts from texture. + gl.glRotatef(r.nextFloat()*45f, 0,0,1); gl.glBegin(GL.GL_TRIANGLE_FAN); float d = radius.f(z) * scale * 2;