using the Material class

This commit is contained in:
Sam Gateau 2015-01-14 10:22:27 -08:00
parent 1bbdb43d8c
commit 7be1f41659
7 changed files with 59 additions and 58 deletions

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -32,11 +34,13 @@ void main(void) {
vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st);
vec4 emissive = texture2D(emissiveMap, interpolatedTexcoord1.st);
Material mat = getMaterial();
packDeferredFragmentLightmap(
normalize(normal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
gl_FrontMaterial.specular.rgb,
gl_FrontMaterial.shininess,
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
getMaterialSpecular(mat),
getMaterialShininess(mat),
(vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb));
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -45,12 +47,13 @@ void main(void) {
vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st);
vec4 emissive = texture2D(emissiveMap, interpolatedTexcoord1.st);
Material mat = getMaterial();
packDeferredFragmentLightmap(
normalize(viewNormal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
//gl_Color.rgb * diffuse.rgb,
vec3(1.0, 0.0, 0.0),
gl_FrontMaterial.specular.rgb,
gl_FrontMaterial.shininess,
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
getMaterialSpecular(mat),
getMaterialShininess(mat),
(vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb));
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -49,17 +51,13 @@ void main(void) {
vec3 specular = texture2D(specularMap, gl_TexCoord[0].st).rgb;
vec4 emissive = texture2D(emissiveMap, interpolatedTexcoord1.st);
Material mat = getMaterial();
packDeferredFragmentLightmap(
normalize(viewNormal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
specular,
gl_FrontMaterial.shininess,
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
specular, // no use of getMaterialSpecular(mat)
getMaterialShininess(mat),
(vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb));
/*
gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb * (vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb), mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold)));
gl_FragData[1] = viewNormal + vec4(0.5, 0.5, 0.5, 1.0);
gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb * texture2D(specularMap, gl_TexCoord[0].st).rgb,
gl_FrontMaterial.shininess / 128.0);
*/
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -35,17 +37,13 @@ void main(void) {
vec3 specular = texture2D(specularMap, gl_TexCoord[0].st).rgb;
vec4 emissive = texture2D(emissiveMap, interpolatedTexcoord1.st);
Material mat = getMaterial();
packDeferredFragmentLightmap(
normalize(normal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
specular,
gl_FrontMaterial.shininess,
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
specular, // no use of getMaterialSpecular(mat)
getMaterialShininess(mat),
(vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb));
/*
gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb * (vec3(emissiveParams.x) + emissiveParams.y * emissive.rgb), mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold)));
gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0);
gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb * texture2D(specularMap, gl_TexCoord[0].st).rgb,
gl_FrontMaterial.shininess / 128.0);
*/
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -34,18 +36,15 @@ void main(void) {
vec3 localNormal = vec3(texture2D(normalMap, gl_TexCoord[0].st)) - vec3(0.5, 0.5, 0.5);
vec4 viewNormal = vec4(normalizedTangent * localNormal.x +
normalizedBitangent * localNormal.y + normalizedNormal * localNormal.z, 0.0);
// set the diffuse, normal, specular data
vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st);
/* gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold)));
gl_FragData[1] = viewNormal + vec4(0.5, 0.5, 0.5, 1.0);
gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb, gl_FrontMaterial.shininess / 128.0);
*/
Material mat = getMaterial();
packDeferredFragment(
normalize(viewNormal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
gl_FrontMaterial.specular.rgb,
gl_FrontMaterial.shininess);
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
getMaterialSpecular(mat),
getMaterialShininess(mat));
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -41,15 +43,13 @@ void main(void) {
// set the diffuse, normal, specular data
vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st);
vec3 specular = texture2D(specularMap, gl_TexCoord[0].st).rgb;
/* gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold)));
gl_FragData[1] = viewNormal + vec4(0.5, 0.5, 0.5, 1.0);
gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb * texture2D(specularMap, gl_TexCoord[0].st).rgb,
gl_FrontMaterial.shininess / 128.0);
*/
Material mat = getMaterial();
packDeferredFragment(
normalize(viewNormal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
specular,
gl_FrontMaterial.shininess);
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
specular, //getMaterialSpecular(mat),
getMaterialShininess(mat));
}

View file

@ -14,6 +14,8 @@
<@include DeferredBufferWrite.slh@>
<@include Material.slh@>
// the diffuse texture
uniform sampler2D diffuseMap;
@ -27,16 +29,13 @@ void main(void) {
// set the diffuse, normal, specular data
vec4 diffuse = texture2D(diffuseMap, gl_TexCoord[0].st);
vec3 specular = texture2D(specularMap, gl_TexCoord[0].st).rgb;
/*
gl_FragData[0] = vec4(gl_Color.rgb * diffuse.rgb, mix(gl_Color.a, 1.0 - gl_Color.a, step(diffuse.a, alphaThreshold)));
gl_FragData[1] = normalize(normal) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0);
gl_FragData[2] = vec4(gl_FrontMaterial.specular.rgb * texture2D(specularMap, gl_TexCoord[0].st).rgb,
gl_FrontMaterial.shininess / 128.0);
*/
Material mat = getMaterial();
packDeferredFragment(
normalize(normal.xyz),
evalOpaqueFinalAlpha(gl_Color.a, diffuse.a),
gl_Color.rgb * diffuse.rgb,
specular,
gl_FrontMaterial.shininess);
evalOpaqueFinalAlpha(getMaterialOpacity(mat), diffuse.a),
getMaterialDiffuse(mat) * diffuse.rgb,
specular, //getMaterialSpecular(mat),
getMaterialShininess(mat));
}