diff --git a/KREngine/KREngine/Classes/KRDirectionalLight.cpp b/KREngine/KREngine/Classes/KRDirectionalLight.cpp index 1119ab8..9623ea4 100644 --- a/KREngine/KREngine/Classes/KRDirectionalLight.cpp +++ b/KREngine/KREngine/Classes/KRDirectionalLight.cpp @@ -28,12 +28,16 @@ std::string KRDirectionalLight::getElementName() { } KRVector3 KRDirectionalLight::getWorldLightDirection() { + const GLfloat PI = 3.14159265; + const GLfloat d2r = PI * 2 / 360; + KRVector3 world_rotation = getLocalRotation(); - KRVector3 light_rotation = KRVector3(0.0, 0.0, 1.0); + KRVector3 light_rotation = KRVector3(0.0, 0.0, -1.0); KRMat4 m; m.rotate(world_rotation.x, X_AXIS); m.rotate(world_rotation.y, Y_AXIS); - m.rotate(world_rotation.z, Z_AXIS); + m.rotate(world_rotation.z, X_AXIS); + m.rotate(-90.0 * d2r, Y_AXIS); KRVector3 light_direction = m.dot(light_rotation); return light_direction; } diff --git a/KREngine/KREngine/Classes/KREngine.mm b/KREngine/KREngine/Classes/KREngine.mm index dfc4375..51c2e70 100644 --- a/KREngine/KREngine/Classes/KREngine.mm +++ b/KREngine/KREngine/Classes/KREngine.mm @@ -1225,13 +1225,13 @@ double const PI = 3.141592653589793f; -(double)getParameterMinWithIndex: (int)i { - double minValues[32] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; + double minValues[33] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; return minValues[i]; } -(double)getParameterMaxWithIndex: (int)i { - double maxValues[32] = {PI, 2.0f * PI, PI, 3.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 2.0f, 1.0f, 1.0f, 1.0f, 5.0f, 1.0f, 0.5f, 1.0f, 2.0f, 2.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; + double maxValues[33] = {PI, 2.0f * PI, PI, 3.0f, 1.0f, 1.0, 1.0f, 1.0f, 1.0f, 1.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 2.0f, 1.0f, 1.0f, 1.0f, 5.0f, 1.0f, 0.5f, 1.0f, 2.0f, 2.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; return maxValues[i]; } diff --git a/KREngine/KREngine/Classes/KRLight.h b/KREngine/KREngine/Classes/KRLight.h index edf014c..b0729c1 100644 --- a/KREngine/KREngine/Classes/KRLight.h +++ b/KREngine/KREngine/Classes/KRLight.h @@ -14,7 +14,7 @@ class KRLight : public KRNode { public: - static const float KRLIGHT_MIN_INFLUENCE = 0.10f; + static const float KRLIGHT_MIN_INFLUENCE = 0.05f; virtual ~KRLight(); virtual std::string getElementName() = 0; diff --git a/KREngine/KREngine/Shaders/ObjectShader.fsh b/KREngine/KREngine/Shaders/ObjectShader.fsh index a662911..a5fcc55 100644 --- a/KREngine/KREngine/Shaders/ObjectShader.fsh +++ b/KREngine/KREngine/Shaders/ObjectShader.fsh @@ -126,7 +126,7 @@ void main() #if GBUFFER_PASS == 3 lowp vec4 gbuffer_sample = texture2D(gbuffer_frame, gbuffer_uv); - lowp vec3 gbuffer_lamber_factor = gbuffer_sample.rgb; + mediump vec3 gbuffer_lamber_factor = gbuffer_sample.rgb * 5.0; lowp float gbuffer_specular_factor = gbuffer_sample.a; #endif diff --git a/KREngine/KREngine/Shaders/light_directional.fsh b/KREngine/KREngine/Shaders/light_directional.fsh index 783da45..3f27e56 100644 --- a/KREngine/KREngine/Shaders/light_directional.fsh +++ b/KREngine/KREngine/Shaders/light_directional.fsh @@ -57,5 +57,5 @@ void main() specularFactor = clamp(pow(dot(halfVec,normalize(gbuffer_normal)), gbuffer_specular_exponent), 0.0, 1.0); } - gl_FragColor = vec4(light_color * lamberFactor, specularFactor) * light_intensity; + gl_FragColor = vec4(light_color * lamberFactor * 0.2, specularFactor) * light_intensity; } diff --git a/KREngine/KREngine/Shaders/light_point.fsh b/KREngine/KREngine/Shaders/light_point.fsh index 832b54a..33b1974 100644 --- a/KREngine/KREngine/Shaders/light_point.fsh +++ b/KREngine/KREngine/Shaders/light_point.fsh @@ -69,6 +69,5 @@ void main() specularFactor = clamp(pow(dot(halfVec,normalize(gbuffer_normal)), gbuffer_specular_exponent), 0.0, 1.0); } - - gl_FragColor = vec4(light_color * lamberFactor, specularFactor) * light_attenuation; + gl_FragColor = vec4(light_color * lamberFactor * 0.2, specularFactor) * light_attenuation; } diff --git a/objview/Classes/KRObjViewGLView.mm b/objview/Classes/KRObjViewGLView.mm index 93fcb82..fbabbe0 100644 --- a/objview/Classes/KRObjViewGLView.mm +++ b/objview/Classes/KRObjViewGLView.mm @@ -108,7 +108,7 @@ [renderEngine loadResource: path]; } - [renderEngine setNearZ: 100.0]; + [renderEngine setNearZ: 150.0]; [renderEngine setFarZ: 3000.0]; //[renderEngine setNearZ: 1.0]; //[renderEngine setFarZ: 3000.0];