]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
mid shader change
authorLockedLunatic <locked.lunatic@aon.at>
Sat, 9 May 2015 20:22:34 +0000 (22:22 +0200)
committerLockedLunatic <locked.lunatic@aon.at>
Sat, 9 May 2015 20:22:34 +0000 (22:22 +0200)
shader/basicTexture_VS.hlsl
shader/lightingTexture_FS.hlsl

index 26f907a8b1a4e75ed0faf4ce17d7ff173043bd75..29d73f000b6a20a52997083dd3d2906740337ed6 100644 (file)
@@ -4,10 +4,9 @@
 in vec3 aNormal, aPosition;
 in vec2 aUV;
 
-out vec3 worldNormal, worldPointLightDir1, DirectionalLightDirection1, cameraVec;
+out vec3 world_Position, worldNormal;
 out vec2 fUVs;
 
-uniform vec3 cameraPos;
 //uniform vec3 PointLightPosition1, DirectionalLightDirection1;
 uniform mat4 uProjection, uView, uModel;
 
@@ -17,15 +16,9 @@ uniform int uEnableTransp = 1;
 
 void main()
 {
-       vec3 PointLightPosition1 = vec3(0.0f, 1.0f, 0.0f);
-       vec3 DirectionalLightDirection1 = normalize(vec3(-1.0f, -1.0f, -1.0f));
-
-
        fUVs = aUV;
        vec4 world_Position = uModel * vec4(aPosition, 1);
-       worldPointLightDir1 = PointLightPosition1 - world_Position.xyz;
+       worldNormal = (uModel * vec4(aNormal, 0.0f)).xyz;
 
        gl_Position = uProjection * uView * world_Position;
-       worldNormal = (uModel * vec4(aNormal, 0.0f)).xyz;
-       cameraVec = normalize(cameraPos - world_Position.xyz);
 }
\ No newline at end of file
index 8a2599fe301254ce09277bbf892b0e2330b68384..5fd496427b8761a0d6ca641a620aea8453ce7195 100644 (file)
@@ -1,16 +1,16 @@
 //Fragment Shader
 #version 330
-in vec3 worldNormal, worldPointLightDir1, DirectionalLightDirection1, cameraVec;
+in vec3 world_Position, worldNormal;
 in vec2 fUVs;
 
 out vec4 FragmentColor;
 
+uniform vec3 cameraPos;
 uniform sampler2D uColorTexture;
 uniform vec4 material;                                 //vec4 in the form (ambient, point, directional, glossyness); so far it was (1, 1, 1, 3)
  
 void main()
 {
-
        float specularConst = material[3];
        vec3 normal = normalize(worldNormal);
        vec4 uvColor = texture(uColorTexture, fUVs);
@@ -18,32 +18,34 @@ void main()
 
        vec3 AmbientLightColor = 0 * vec3(0.2f, 0.2f, 0.2f);
 
-       vec3 PointLightDirection1 = normalize(worldPointLightDir1);
+       vec3 PointLightPosition1 = vec3(0.0f, 1.0f, 0.0f);
        vec3 PointLightColor1 = 1 * vec3(1.0f, 1.0f, 1.0f);
 
+       vec3 DirectionalLightDirection1 = normalize(vec3(-1.0f, -1.0f, -1.0f));
        vec3 DirectionalLightColor1 = 0 * vec3(0.6f, 0.6f, 0.6f);
 
 
+       vec3 cameraVec = normalize(cameraPos - world_Position.xyz);
+       vec3 worldPointLightDir1 = PointLightPosition1 - world_Position.xyz;
+       vec3 PointLightDirection1 = normalize(worldPointLightDir1);
+
        float SpecularCosPoint1 = clamp(dot(cameraVec, normalize(reflect(PointLightDirection1, normal))), 0, 1);
        float SpecularCosDirection1 = clamp(dot(cameraVec, normalize(reflect(-DirectionalLightDirection1, normal))), 0, 1);
+       //float SpecularCosPoint1 = 0;
+       //float SpecularCosDirection1 = 0;
 
 
-       float cosThetaPoint1 = clamp(dot(normal, PointLightDirection1), 0, 1);
-       float cosThetaDirection1 = clamp(dot(normal, DirectionalLightDirection1), 0, 1);
-       //float cosThetaPoint1 = clamp(dot(cameraVec, PointLightDirection1), 0, 1);
-       //float cosThetaDirection1 = clamp(dot(cameraVec, DirectionalLightDirection1), 0, 1);
+       //float cosThetaPoint1 = clamp(dot(normal, PointLightDirection1), 0, 1);
+       //float cosThetaDirection1 = clamp(dot(normal, -DirectionalLightDirection1), 0, 1);
+       float cosThetaPoint1 = 0;
+       float cosThetaDirection1 = 0;
 
        float squaredist1 = worldPointLightDir1.x * worldPointLightDir1.x + worldPointLightDir1.y * worldPointLightDir1.y + worldPointLightDir1.z * worldPointLightDir1.z;
 
-       //if (uvColor.a < 0.3)
-       //      discard;
-
 
        FragmentColor = vec4(uvColor.rgb * (AmbientLightColor * material[0]
                + PointLightColor1 * material[1] * (cosThetaPoint1 + pow(SpecularCosPoint1, specularConst)) / squaredist1
-               //+ PointLightColor1 * material[1] * (pow(cosThetaPoint1, specularConst)) / squaredist1
                + DirectionalLightColor1 * material[2] * (cosThetaDirection1 + pow(SpecularCosDirection1, specularConst))
-               //+ DirectionalLightColor1 * material[2] * (pow(cosThetaDirection1, specularConst))
                ), uvColor.a);