diff options
| -rw-r--r-- | shaders/bullet_fragment.glsl | 7 | ||||
| -rw-r--r-- | shaders/bullet_vertex.glsl | 15 | 
2 files changed, 9 insertions, 13 deletions
| diff --git a/shaders/bullet_fragment.glsl b/shaders/bullet_fragment.glsl index 5e8becd..55e29ff 100644 --- a/shaders/bullet_fragment.glsl +++ b/shaders/bullet_fragment.glsl @@ -1,12 +1,9 @@ -varying mat4 v_tex_rot; +varying mat3 v_tex_rot;  uniform sampler2D tex;  void main() {  	vec2 l_uv = gl_TexCoord[0].xy; -	const vec2 l_offset = vec2(0.5, 0.5); -	l_uv -= l_offset; -	l_uv = vec2(v_tex_rot * vec4(l_uv, 0.0, 1.0)); -	l_uv += l_offset; +	l_uv = vec2(v_tex_rot * vec3(l_uv, 0.5));  	gl_FragColor = texture2D(tex, l_uv);  	float M = max(max(gl_FragColor.x, gl_FragColor.y), gl_FragColor.z);  	float C = M - min(min(gl_FragColor.x, gl_FragColor.y), gl_FragColor.z); diff --git a/shaders/bullet_vertex.glsl b/shaders/bullet_vertex.glsl index 0843be2..0717b0a 100644 --- a/shaders/bullet_vertex.glsl +++ b/shaders/bullet_vertex.glsl @@ -1,14 +1,13 @@ -varying mat4 v_tex_rot; +varying mat3 v_tex_rot;  void main() {  	vec4 l_position = gl_Vertex; -	vec2 l_direction = normalize(vec2(l_position.z, l_position.w)); -	v_tex_rot = mat4(l_direction.x, l_direction.y, 0.0, 0.0, -					-l_direction.y, l_direction.x, 0.0, 0.0, -					0.0, 0.0, 1.0, 0.0, -					0.0, 0.0, 0.0, 1.0); -	l_position.z = 0.0; -	l_position.w = 1.0; +	vec2 l_direction = normalize(l_position.zw); +	v_tex_rot = mat3( +		l_direction.x, l_direction.y, 0.0, +		-l_direction.y, l_direction.x, 0.0, +		1.0 - l_direction.x + l_direction.y, 1.0 - l_direction.y - l_direction.x, 0.0); +	l_position.zw = vec2(0.0, 1.0);  	gl_FrontColor = gl_Color;  	gl_Position = gl_ModelViewProjectionMatrix * l_position;  } | 
