diff options
author | taw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5> | 2008-05-28 16:19:50 +0000 |
---|---|---|
committer | taw27 <taw27@84d2e878-0bd5-11dd-ad15-13eda11d74c5> | 2008-05-28 16:19:50 +0000 |
commit | 66450800a7ff01f67ae72a79570decbfbd42c0a8 (patch) | |
tree | 61d61646a22a2c5124c991df0077bba41ae52227 /data | |
parent | 2295e1879d9c5ef869c9c5e3b1714fec0c67d799 (diff) |
Fun with shaders
git-svn-id: svn://cook.msm.cam.ac.uk:745/thrust3d/thrust3d@48 84d2e878-0bd5-11dd-ad15-13eda11d74c5
Diffstat (limited to 'data')
-rw-r--r-- | data/Makefile.am | 2 | ||||
-rw-r--r-- | data/models/platform | 42 | ||||
-rw-r--r-- | data/shaders/lighting.frag | 13 | ||||
-rw-r--r-- | data/shaders/swirlytron.frag | 19 | ||||
-rw-r--r-- | data/shaders/swirlytron.vert | 24 |
5 files changed, 74 insertions, 26 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index 91cde53..cbeb059 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -3,7 +3,7 @@ models_DATA = models/floor models/lander models/randombox models/walle models/wa models/ceiling models/tiledfloor shadersdir = $(datadir)/thrust3d/shaders -shaders_DATA = shaders/lighting.vert shaders/lighting.frag +shaders_DATA = shaders/lighting.vert shaders/lighting.frag shaders/swirlytron.vert shaders/swirlytron.frag texturesdir = $(datadir)/thrust3d/textures textures_DATA = textures/floor1.png textures/tiledwall.png textures/radioactive.png textures/fuel.png diff --git a/data/models/platform b/data/models/platform index da92c34..7728c67 100644 --- a/data/models/platform +++ b/data/models/platform @@ -1,30 +1,30 @@ # Landing/refuelling platform QUADS - 1.00 1.00 0.05 - -1.00 1.00 0.05 - -1.00 -1.00 0.05 - 1.00 -1.00 0.05 + 1.00 1.00 0.05 0.0 0.0 + -1.00 1.00 0.05 1.0 0.0 + -1.00 -1.00 0.05 1.0 1.0 + 1.00 -1.00 0.05 0.0 1.0 # - 1.00 1.00 0.00 - -1.00 1.00 0.00 - -1.00 1.00 0.05 - 1.00 1.00 0.05 + 1.00 1.00 0.00 0.0 0.0 + -1.00 1.00 0.00 1.0 0.0 + -1.00 1.00 0.05 1.0 0.0 + 1.00 1.00 0.05 0.0 0.0 # - 1.00 -1.00 0.05 - -1.00 -1.00 0.05 - -1.00 -1.00 0.00 - 1.00 -1.00 0.00 + 1.00 -1.00 0.05 0.0 1.0 + -1.00 -1.00 0.05 1.0 1.0 + -1.00 -1.00 0.00 1.0 1.0 + 1.00 -1.00 0.00 0.0 1.0 # - 1.00 1.00 0.05 - 1.00 -1.00 0.05 - 1.00 -1.00 0.00 - 1.00 1.00 0.00 + 1.00 1.00 0.05 0.0 0.0 + 1.00 -1.00 0.05 0.0 1.0 + 1.00 -1.00 0.00 0.0 1.0 + 1.00 1.00 0.00 0.0 0.0 # - -1.00 1.00 0.00 - -1.00 -1.00 0.00 - -1.00 -1.00 0.05 - -1.00 1.00 0.05 + -1.00 1.00 0.00 1.0 0.0 + -1.00 -1.00 0.00 1.0 1.0 + -1.00 -1.00 0.05 1.0 1.0 + -1.00 1.00 0.05 1.0 0.0 # -pulse 0.7 0.0 0.0 +swirly diff --git a/data/shaders/lighting.frag b/data/shaders/lighting.frag index 1008734..265f494 100644 --- a/data/shaders/lighting.frag +++ b/data/shaders/lighting.frag @@ -19,6 +19,7 @@ varying vec3 light2hvc; uniform sampler2D texture; uniform bool fill_light_enabled; uniform bool texture_enabled; +uniform bool texture_only; varying vec3 col_ambi_diff; varying vec3 col_emit; @@ -55,10 +56,14 @@ void main() { spec += vec3(1.0, 1.0, 1.0) * gl_LightSource[2].specular.rgb * pow(ndothv, 80.0); } - gl_FragColor = vec4(min(emit.r + ambi.r + diff.r + spec.r, 1.0), - min(emit.g + ambi.g + diff.g + spec.g, 1.0), - min(emit.b + ambi.b + diff.b + spec.b, 1.0), - 1.0); + if ( !texture_only ) { + gl_FragColor = vec4(min(emit.r + ambi.r + diff.r + spec.r, 1.0), + min(emit.g + ambi.g + diff.g + spec.g, 1.0), + min(emit.b + ambi.b + diff.b + spec.b, 1.0), + 1.0); + } else { + gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); + } if ( texture_enabled ) { gl_FragColor *= texture2D(texture, gl_TexCoord[0].st); diff --git a/data/shaders/swirlytron.frag b/data/shaders/swirlytron.frag new file mode 100644 index 0000000..d152636 --- /dev/null +++ b/data/shaders/swirlytron.frag @@ -0,0 +1,19 @@ +/* + * swirlytron.vert + * + * Swirly stuff for rendering onto swirly things... + * + * (c) 2007-2008 Thomas White <taw27@cam.ac.uk> + * + * thrust3d - a silly game + * + */ + +varying vec2 coords; + +void main() { + + gl_FragColor = vec4(coords.x, 0.0, coords.y, 1.0); + +} + diff --git a/data/shaders/swirlytron.vert b/data/shaders/swirlytron.vert new file mode 100644 index 0000000..0c6dc73 --- /dev/null +++ b/data/shaders/swirlytron.vert @@ -0,0 +1,24 @@ +/* + * swirlytron.vert + * + * Swirly stuff for rendering onto swirly things... + * + * (c) 2007-2008 Thomas White <taw27@cam.ac.uk> + * + * thrust3d - a silly game + * + */ + +varying vec2 coords; + +void main() { + + coords.x = (gl_Vertex.x + 1.0)/2.0; + coords.y = (gl_Vertex.y + 1.0)/2.0; + + /* Coordinates */ + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_Position = ftransform(); + +} + |