Splits CRenderer part about scene to CSceneRenderer.

Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4412
This was SVN commit r26165.
This commit is contained in:
vladislavbelov
2022-01-04 13:29:01 +00:00
parent 3d2be697a2
commit 87b5c233c5
36 changed files with 1823 additions and 1674 deletions
+12 -9
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 2021 Wildfire Games.
/* Copyright (C) 2022 Wildfire Games.
* This file is part of 0 A.D.
*
* 0 A.D. is free software: you can redistribute it and/or modify
@@ -30,6 +30,7 @@
#include "maths/Vector3D.h"
#include "ps/CStrInternStatic.h"
#include "renderer/Renderer.h"
#include "renderer/SceneRenderer.h"
#include <cmath>
@@ -50,11 +51,13 @@ void CDebugRenderer::DrawLine(const std::vector<CVector3D>& line, const CColor&
g_Renderer.GetShaderManager().LoadEffect(str_debug_line);
debugLineTech->BeginPass();
const CCamera& viewCamera = g_Renderer.GetSceneRenderer().GetViewCamera();
CShaderProgramPtr debugLineShader = debugLineTech->GetShader();
debugLineShader->Uniform(str_transform, g_Renderer.GetViewCamera().GetViewProjection());
debugLineShader->Uniform(str_transform, viewCamera.GetViewProjection());
debugLineShader->Uniform(str_color, color);
const CVector3D cameraIn = g_Renderer.GetViewCamera().GetOrientation().GetIn();
const CVector3D cameraIn = viewCamera.GetOrientation().GetIn();
std::vector<float> vertices;
vertices.reserve(line.size() * 6 * 3);
@@ -100,7 +103,7 @@ void CDebugRenderer::DrawCircle(const CVector3D& origin, const float radius, con
g_Renderer.GetShaderManager().LoadEffect(str_debug_line);
debugCircleTech->BeginPass();
const CCamera& camera = g_Renderer.GetViewCamera();
const CCamera& camera = g_Renderer.GetSceneRenderer().GetViewCamera();
CShaderProgramPtr debugCircleShader = debugCircleTech->GetShader();
debugCircleShader->Uniform(str_transform, camera.GetViewProjection());
@@ -156,7 +159,7 @@ void CDebugRenderer::DrawCameraFrustum(const CCamera& camera, const CColor& colo
overlayTech->BeginPass();
CShaderProgramPtr overlayShader = overlayTech->GetShader();
overlayShader->Uniform(str_transform, g_Renderer.GetViewCamera().GetViewProjection());
overlayShader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection());
overlayShader->Uniform(str_color, color);
std::vector<float> vertices;
@@ -221,7 +224,7 @@ void CDebugRenderer::DrawCameraFrustum(const CCamera& camera, const CColor& colo
void CDebugRenderer::DrawBoundingBox(const CBoundingBoxAligned& boundingBox, const CColor& color)
{
DrawBoundingBox(boundingBox, color, g_Renderer.GetViewCamera().GetViewProjection());
DrawBoundingBox(boundingBox, color, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection());
}
void CDebugRenderer::DrawBoundingBox(const CBoundingBoxAligned& boundingBox, const CColor& color, const CMatrix3D& transform)
@@ -267,7 +270,7 @@ void CDebugRenderer::DrawBoundingBox(const CBoundingBoxAligned& boundingBox, con
void CDebugRenderer::DrawBoundingBoxOutline(const CBoundingBoxAligned& boundingBox, const CColor& color)
{
DrawBoundingBoxOutline(boundingBox, color, g_Renderer.GetViewCamera().GetViewProjection());
DrawBoundingBoxOutline(boundingBox, color, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection());
}
void CDebugRenderer::DrawBoundingBoxOutline(const CBoundingBoxAligned& boundingBox, const CColor& color, const CMatrix3D& transform)
@@ -320,7 +323,7 @@ void CDebugRenderer::DrawBrush(const CBrush& brush, const CColor& color)
CShaderProgramPtr shader = shaderTech->GetShader();
shader->Uniform(str_color, color);
shader->Uniform(str_transform, g_Renderer.GetViewCamera().GetViewProjection());
shader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection());
std::vector<float> data;
@@ -367,7 +370,7 @@ void CDebugRenderer::DrawBrushOutline(const CBrush& brush, const CColor& color)
CShaderProgramPtr shader = shaderTech->GetShader();
shader->Uniform(str_color, color);
shader->Uniform(str_transform, g_Renderer.GetViewCamera().GetViewProjection());
shader->Uniform(str_transform, g_Renderer.GetSceneRenderer().GetViewCamera().GetViewProjection());
std::vector<float> data;