hours spent just to realize I'm a dumbass

This commit is contained in:
Dmitri K 2016-12-06 21:37:40 -05:00
parent 545f78d0dc
commit 3d79976c4e

View File

@ -27,15 +27,15 @@ const int lightLevels = 7;
vec4 calcDirLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn) { vec4 calcDirLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn) {
// Get lighting vectors // Get lighting vectors
vec3 LightDirection = tbn * normalize(lDirection); vec3 LightDirection = normalize(lDirection);
vec3 nviewDirection = tbn * normalize(fPos); vec3 nviewDirection = normalize(fPos);
vec3 nfNormal; vec3 nfNormal;
if(useNormalMap) { if(useNormalMap) {
vec3 vNorm = texture(texNormal, texCoords).rgb; vec3 vNorm = texture(texNormal, texCoords).rgb;
nfNormal = normalize(2 * vNorm - 1); nfNormal = tbn * normalize(2 * vNorm - 1);
} else { } else {
nfNormal = normalize(tbn * fNorm); nfNormal = normalize(fNorm);
} }
// Compute diffuse component // Compute diffuse component
@ -62,17 +62,15 @@ vec4 calcDirLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn) {
vec4 calcPointLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn, int i) { vec4 calcPointLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn, int i) {
// Get lighting vectors // Get lighting vectors
vec3 LightDirection = tbn * normalize(pointLight[i] + fPos); vec3 LightDirection = normalize(pointLight[i] + fPos);
// vec3 nfNormal = normalize(fNorm); vec3 nviewDirection = normalize(fPos);
vec3 nviewDirection = tbn * normalize(fPos);
vec3 nfNormal; vec3 nfNormal;
if(useNormalMap) { if(useNormalMap) {
vec3 vNorm = texture(texNormal, texCoords).rgb; vec3 vNorm = texture(texNormal, texCoords).rgb;
//nfNormal = normalize(normalMatrix * vNorm); nfNormal = tbn * normalize(2 * vNorm - 1);
nfNormal = normalize(2 * vNorm - 1);
} else { } else {
nfNormal = normalize(tbn * fNorm); nfNormal = normalize(fNorm);
} }
// Attenuation // Attenuation
@ -80,11 +78,11 @@ vec4 calcPointLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn, int i) {
float attenuation = 0.5 + 1 / max(0.25, distance * distance); float attenuation = 0.5 + 1 / max(0.25, distance * distance);
// Compute diffuse component // Compute diffuse component
float diff = 0.0 * max(0.0, dot(nfNormal, LightDirection)); float diff = .2 * max(0.0, dot(nfNormal, LightDirection));
// Compute specular component // Compute specular component
vec3 Rl = reflect(-LightDirection, /*normalMatrix */ nfNormal); vec3 Rl = reflect(-LightDirection, nfNormal);
float spec = 0.5 * pow(max(0.0, dot(Rl, nviewDirection)), 32); float spec = .6 * pow(max(0.0, dot(Rl, nviewDirection)), 32);
// Compute ambient component // Compute ambient component
float amb = 0.2; float amb = 0.2;
@ -94,7 +92,7 @@ vec4 calcPointLight(vec4 tex, vec3 fPos, vec3 fNorm, mat3 tbn, int i) {
if(useToon){ if(useToon){
luminance = floor(luminance * lightLevels) / lightLevels; luminance = floor(luminance * lightLevels) / lightLevels;
} }
return vec4(pointLightCol[i].xyz * attenuation * luminance * tex.xyz, pointLightCol[i].w); return vec4(pointLightCol[i].xyz * luminance * attenuation * tex.xyz, pointLightCol[i].w);
} }