diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2010-01-19 01:09:01 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2010-01-19 01:09:01 +0100 |
commit | c7030ae2b41fc2e559304737a54d6f927cf3d740 (patch) | |
tree | a301bfc4e19a5198bafafdb6083ec9667c95abfb /src/de/gamezock/metacraft/resources | |
parent | 9cb41d127063297432f768f7cb0f466b76921103 (diff) | |
download | metacraft-c7030ae2b41fc2e559304737a54d6f927cf3d740.tar metacraft-c7030ae2b41fc2e559304737a54d6f927cf3d740.zip |
Added shader loader (and default shaders)
Diffstat (limited to 'src/de/gamezock/metacraft/resources')
-rw-r--r-- | src/de/gamezock/metacraft/resources/shaders/default.frag | 30 | ||||
-rw-r--r-- | src/de/gamezock/metacraft/resources/shaders/default.vert | 16 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/de/gamezock/metacraft/resources/shaders/default.frag b/src/de/gamezock/metacraft/resources/shaders/default.frag new file mode 100644 index 0000000..c87f14f --- /dev/null +++ b/src/de/gamezock/metacraft/resources/shaders/default.frag @@ -0,0 +1,30 @@ +uniform sampler2D tex; + +varying vec4 diffuse, ambient, globalAmbient; +varying vec3 normal, pos; + + +void main() { + vec3 n, l; + float NdotL; + vec4 specularColor; + float dist, distSq, att, specularFactor; + + n = normalize(normal); + + l = gl_LightSource[0].position.xyz - pos; + + distSq = dot(l, l); + + NdotL = dot(n, l); + + if (NdotL > 0.0) { + dist = sqrt(distSq); + + att = 1.0 / (gl_LightSource[0].quadraticAttenuation * distSq); + gl_FragColor = att * (diffuse * NdotL / dist + ambient + globalAmbient) /* * texture2D(tex, gl_TexCoord[0].st)*/; + } + else { + gl_FragColor = vec4(0, 0, 0, 1); + } +} diff --git a/src/de/gamezock/metacraft/resources/shaders/default.vert b/src/de/gamezock/metacraft/resources/shaders/default.vert new file mode 100644 index 0000000..002b730 --- /dev/null +++ b/src/de/gamezock/metacraft/resources/shaders/default.vert @@ -0,0 +1,16 @@ +varying vec4 diffuse, ambient, globalAmbient; +varying vec3 normal, pos; + + +void main() { + normal = gl_NormalMatrix * gl_Normal; + + pos = vec3(gl_ModelViewMatrix * gl_Vertex); + + diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse; + ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient; + globalAmbient = gl_FrontMaterial.ambient, gl_LightModel.ambient; + + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_Position = ftransform(); +} |