diff --git a/include/Engine/Rendering/Renderer.h b/include/Engine/Rendering/Renderer.h index 5b6f9158..b7abafdf 100644 --- a/include/Engine/Rendering/Renderer.h +++ b/include/Engine/Rendering/Renderer.h @@ -35,8 +35,6 @@ private: //----------------------Variables----------------------// EventBroker* m_EventBroker; - int m_bi = 0; - std::shared_ptr> m_DebugCameraInputController; Texture* m_ErrorTexture; diff --git a/resources/Schema/Components/PointLight.xsd b/resources/Schema/Components/PointLight.xsd index d1a9f52c..039e7117 100644 --- a/resources/Schema/Components/PointLight.xsd +++ b/resources/Schema/Components/PointLight.xsd @@ -12,7 +12,7 @@ - + diff --git a/resources/Shaders/ForwardPlus.frag.glsl b/resources/Shaders/ForwardPlus.frag.glsl index 79d5411c..e54b23db 100644 --- a/resources/Shaders/ForwardPlus.frag.glsl +++ b/resources/Shaders/ForwardPlus.frag.glsl @@ -56,7 +56,7 @@ struct LightResult { vec4 Specular; }; -float CalcAttenuation(float radius, float dist) { +float CalcAttenuation(float radius, float dist, float falloff) { return 1.0 - smoothstep(radius * 0.3, radius, dist); } @@ -71,13 +71,13 @@ vec4 CalcDiffuse(vec4 lightColor, vec4 lightVec, vec4 normal) { return lightColor * power; } -LightResult CalcPointLight(vec4 lightPos, float lightRadius, vec4 lightColor, float intensity, vec4 viewVec, vec4 position, vec4 normal) +LightResult CalcPointLight(vec4 lightPos, float lightRadius, vec4 lightColor, float intensity, vec4 viewVec, vec4 position, vec4 normal, float falloff) { vec4 L = lightPos - position; float dist = length(L); L = normalize(L); - float attenuation = CalcAttenuation(lightRadius, dist); + float attenuation = CalcAttenuation(lightRadius, dist, falloff); LightResult result; result.Diffuse = CalcDiffuse(lightColor, L, normal) * attenuation * intensity; @@ -108,7 +108,7 @@ void main() { int l = int(LightIndex[i]); - LightResult result = CalcPointLight(V * PointLights.List[l].Position, PointLights.List[l].Radius, PointLights.List[l].Color, PointLights.List[l].Intensity, viewVec, position, normal); + LightResult result = CalcPointLight(V * PointLights.List[l].Position, PointLights.List[l].Radius, PointLights.List[l].Color, PointLights.List[l].Intensity, viewVec, position, normal, PointLights.List[i].Falloff); totalLighting.Diffuse += result.Diffuse; totalLighting.Specular += result.Specular; diff --git a/src/Engine/Rendering/Renderer.cpp b/src/Engine/Rendering/Renderer.cpp index a85a49df..792faa18 100644 --- a/src/Engine/Rendering/Renderer.cpp +++ b/src/Engine/Rendering/Renderer.cpp @@ -91,14 +91,6 @@ void Renderer::Update(double dt) void Renderer::Draw(RenderQueueCollection& rq) { FillDepth(rq); - if (m_bi == 1) { - for (auto i : rq.Forward) { - printf("D: %f| \n", i->Depth); - } - m_bi = 0; - printf("------THE END------"); - } - m_bi++; m_PickingPass->Draw(rq); //DrawScreenQuad(m_PickingPass->PickingTexture()); m_LightCullingPass->FillLightList(rq);