Просмотр исходного кода

Renamed RendererCamera -> RendererView

BearishSun 8 лет назад
Родитель
Сommit
d22b0e2a63

+ 2 - 2
Source/RenderBeast/CMakeSources.cmake

@@ -9,7 +9,7 @@ set(BS_RENDERBEAST_INC_NOFILTER
 	"Include/BsObjectRendering.h"
 	"Include/BsLightRendering.h"
 	"Include/BsPostProcessing.h"
-	"Include/BsRendererCamera.h"
+	"Include/BsRendererView.h"
 	"Include/BsRendererObject.h"
 	"Include/BsLightGrid.h"
 	"Include/BsImageBasedLighting.h"
@@ -26,7 +26,7 @@ set(BS_RENDERBEAST_SRC_NOFILTER
 	"Source/BsObjectRendering.cpp"
 	"Source/BsLightRendering.cpp"
 	"Source/BsPostProcessing.cpp"
-	"Source/BsRendererCamera.cpp"
+	"Source/BsRendererView.cpp"
 	"Source/BsRendererObject.cpp"
 	"Source/BsLightGrid.cpp"
 	"Source/BsImageBasedLighting.cpp"

+ 3 - 3
Source/RenderBeast/Include/BsLightGrid.h

@@ -43,7 +43,7 @@ namespace bs { namespace ct
 					   const SPtr<GpuBuffer>& lightsBuffer, const SPtr<GpuBuffer>& probesBuffer);
 
 		/** Binds the material for rendering, sets up per-camera parameters and executes it. */
-		void execute(const RendererCamera& view);
+		void execute(const RendererView& view);
 
 		/** Returns the buffers generated by execute(). */
 		void getOutputs(SPtr<GpuBuffer>& lightsLLHeads, SPtr<GpuBuffer>& lightsLL, SPtr<GpuBuffer>& probesLLHeads, 
@@ -85,7 +85,7 @@ namespace bs { namespace ct
 			const SPtr<GpuBuffer>& probeLLHeads, const SPtr<GpuBuffer>& probeLL);
 
 		/** Binds the material for renderingand executes it. */
-		void execute(const RendererCamera& view);
+		void execute(const RendererView& view);
 
 		/** Returns the buffers generated by execute(). */
 		void getOutputs(SPtr<GpuBuffer>& gridLightOffsetsAndSize, SPtr<GpuBuffer>& gridLightIndices,
@@ -127,7 +127,7 @@ namespace bs { namespace ct
 		LightGrid();
 
 		/** Updates the light grid from the provided view. */
-		void updateGrid(const RendererCamera& view, const GPULightData& lightData, const GPUReflProbeData& probeData, 
+		void updateGrid(const RendererView& view, const GPULightData& lightData, const GPUReflProbeData& probeData, 
 			bool noLighting);
 
 		/** 

+ 1 - 1
Source/RenderBeast/Include/BsPostProcessing.h

@@ -247,7 +247,7 @@ namespace bs { namespace ct
 		 * view's final output render target. Once the method exits, final render target is guaranteed to be currently
 		 * bound for rendering. 
 		 */
-		void postProcess(RendererCamera* viewInfo, const SPtr<Texture>& sceneColor, float frameDelta);
+		void postProcess(RendererView* viewInfo, const SPtr<Texture>& sceneColor, float frameDelta);
 		
 	private:
 		DownsampleMat mDownsample;

+ 6 - 6
Source/RenderBeast/Include/BsRenderBeast.h

@@ -11,7 +11,7 @@
 #include "BsImageBasedLighting.h"
 #include "BsObjectRendering.h"
 #include "BsPostProcessing.h"
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 #include "BsRendererObject.h"
 
 namespace bs 
@@ -145,7 +145,7 @@ namespace bs
 		 * @param[in]	forceRemove	If true, the camera data will be removed instead of updated.
 		 * @return					Renderer camera object that represents the camera. Null if camera was removed.
 		 */
-		RendererCamera* updateCameraData(const Camera* camera, bool forceRemove = false);
+		RendererView* updateCameraData(const Camera* camera, bool forceRemove = false);
 
 		/**
 		 * Updates the render options on the core thread.
@@ -169,21 +169,21 @@ namespace bs
 		 * 
 		 * @note	Core thread only. 
 		 */
-		void renderViews(RendererCamera** views, UINT32 numViews, const FrameInfo& frameInfo);
+		void renderViews(RendererView** views, UINT32 numViews, const FrameInfo& frameInfo);
 
 		/**
 		 * Renders all objects visible by the provided view.
 		 *			
 		 * @note	Core thread only.
 		 */
-		void renderView(RendererCamera* viewInfo, float frameDelta);
+		void renderView(RendererView* viewInfo, float frameDelta);
 
 		/**
 		 * Renders all overlay callbacks of the provided view.
 		 * 					
 		 * @note	Core thread only.
 		 */
-		void renderOverlay(RendererCamera* viewInfo);
+		void renderOverlay(RendererView* viewInfo);
 
 		/** 
 		 * Renders a single element of a renderable object. 
@@ -228,7 +228,7 @@ namespace bs
 		// Scene data
 		//// Cameras and render targets
 		Vector<RendererRenderTarget> mRenderTargets;
-		UnorderedMap<const Camera*, RendererCamera*> mCameras;
+		UnorderedMap<const Camera*, RendererView*> mCameras;
 		
 		//// Renderables
 		Vector<RendererObject*> mRenderables;

+ 1 - 1
Source/RenderBeast/Include/BsRenderBeastPrerequisites.h

@@ -20,6 +20,6 @@ namespace bs { namespace ct
 	struct RenderBeastOptions;
 	struct PooledRenderTexture;
 	class RenderTargets;
-	class RendererCamera;
+	class RendererView;
 	struct LightData;
 }}

+ 1 - 1
Source/RenderBeast/Include/BsRenderTargets.h

@@ -4,7 +4,7 @@
 
 #include "BsRenderBeastPrerequisites.h"
 #include "BsPixelUtil.h"
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 
 namespace bs { namespace ct
 {

+ 4 - 4
Source/RenderBeast/Include/BsRendererCamera.h → Source/RenderBeast/Include/BsRendererView.h

@@ -148,12 +148,12 @@ namespace bs { namespace ct
 		UINT64 layer;
 	};
 
-	/** Contains information about a Camera, used by the Renderer. */
-	class RendererCamera
+	/** Contains information about a single view into the scene, used by the renderer. */
+	class RendererView
 	{
 	public:
-		RendererCamera();
-		RendererCamera(const RENDERER_VIEW_DESC& desc);
+		RendererView();
+		RendererView(const RENDERER_VIEW_DESC& desc);
 
 		/** Sets state reduction mode that determines how do render queues group & sort renderables. */
 		void setStateReductionMode(StateReduction reductionMode);

+ 2 - 2
Source/RenderBeast/Include/BsShadowRendering.h

@@ -32,7 +32,7 @@ namespace bs { namespace ct
 		 * @param[out]	outBounds	Spherical bounds of the split view frustum.
 		 * @return					Convex volume covering the area of the split view frustum visible from the light.
 		 */
-		static ConvexVolume getCSMSplitFrustum(const RendererCamera& view, const Vector3& lightDir, UINT32 cascade, 
+		static ConvexVolume getCSMSplitFrustum(const RendererView& view, const Vector3& lightDir, UINT32 cascade, 
 			UINT32 numCascades, Sphere& outBounds);
 
 		/**
@@ -45,7 +45,7 @@ namespace bs { namespace ct
 		 *								and greater or equal to @p index.
 		 * @return						Distance to the split position along the view direction.
 		 */
-		static float getCSMSplitDistance(const RendererCamera& view, UINT32 index, UINT32 numCascades);
+		static float getCSMSplitDistance(const RendererView& view, UINT32 index, UINT32 numCascades);
 	};
 
 	/* @} */

+ 4 - 4
Source/RenderBeast/Source/BsLightGrid.cpp

@@ -4,7 +4,7 @@
 #include "BsGpuBuffer.h"
 #include "BsGpuParamsSet.h"
 #include "BsRendererUtility.h"
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 #include "BsRenderTargets.h"
 #include "BsLightRendering.h"
 #include "BsImageBasedLighting.h"
@@ -108,7 +108,7 @@ namespace bs { namespace ct
 		mProbesBufferParam.set(probesBuffer);
 	}
 
-	void LightGridLLCreationMat::execute(const RendererCamera& view)
+	void LightGridLLCreationMat::execute(const RendererView& view)
 	{
 		mParamsSet->setParamBlockBuffer("PerCamera", view.getPerViewBuffer(), true);
 
@@ -214,7 +214,7 @@ namespace bs { namespace ct
 		mProbesLLParam.set(probeLL);
 	}
 
-	void LightGridLLReductionMat::execute(const RendererCamera& view)
+	void LightGridLLReductionMat::execute(const RendererView& view)
 	{
 		mParamsSet->setParamBlockBuffer("PerCamera", view.getPerViewBuffer(), true);
 
@@ -242,7 +242,7 @@ namespace bs { namespace ct
 		mGridParamBuffer = gLightGridParamDefDef.createBuffer();
 	}
 
-	void LightGrid::updateGrid(const RendererCamera& view, const GPULightData& lightData, const GPUReflProbeData& probeData,
+	void LightGrid::updateGrid(const RendererView& view, const GPULightData& lightData, const GPUReflProbeData& probeData,
 		bool noLighting)
 	{
 		UINT32 width = view.getRenderTargets()->getWidth();

+ 2 - 2
Source/RenderBeast/Source/BsPostProcessing.cpp

@@ -7,7 +7,7 @@
 #include "BsTextureManager.h"
 #include "BsCamera.h"
 #include "BsGpuParamsSet.h"
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 
 namespace bs { namespace ct
 {
@@ -426,7 +426,7 @@ namespace bs { namespace ct
 	template class TonemappingMat<true, false>;
 	template class TonemappingMat<false, false>;
 
-	void PostProcessing::postProcess(RendererCamera* viewInfo, const SPtr<Texture>& sceneColor, float frameDelta)
+	void PostProcessing::postProcess(RendererView* viewInfo, const SPtr<Texture>& sceneColor, float frameDelta)
 	{
 		auto& viewProps = viewInfo->getProperties();
 

+ 13 - 13
Source/RenderBeast/Source/BsRenderBeast.cpp

@@ -423,13 +423,13 @@ namespace bs { namespace ct
 
 	void RenderBeast::notifyCameraAdded(const Camera* camera)
 	{
-		RendererCamera* renCamera = updateCameraData(camera);
+		RendererView* renCamera = updateCameraData(camera);
 		renCamera->updatePerViewBuffer();
 	}
 
 	void RenderBeast::notifyCameraUpdated(const Camera* camera, UINT32 updateFlag)
 	{
-		RendererCamera* rendererCam;
+		RendererView* rendererCam;
 		if((updateFlag & (UINT32)CameraDirtyFlag::Everything) != 0)
 		{
 			rendererCam = updateCameraData(camera);
@@ -573,9 +573,9 @@ namespace bs { namespace ct
 		return bs_shared_ptr_new<StandardPostProcessSettings>();
 	}
 
-	RendererCamera* RenderBeast::updateCameraData(const Camera* camera, bool forceRemove)
+	RendererView* RenderBeast::updateCameraData(const Camera* camera, bool forceRemove)
 	{
-		RendererCamera* output;
+		RendererView* output;
 
 		SPtr<RenderTarget> renderTarget = camera->getViewport()->getTarget();
 
@@ -660,7 +660,7 @@ namespace bs { namespace ct
 			}
 			else
 			{
-				output = bs_new<RendererCamera>(viewDesc);
+				output = bs_new<RendererView>(viewDesc);
 				mCameras[camera] = output;
 			}
 
@@ -756,7 +756,7 @@ namespace bs { namespace ct
 
 		for (auto& entry : mCameras)
 		{
-			RendererCamera* rendererCam = entry.second;
+			RendererView* rendererCam = entry.second;
 			rendererCam->setStateReductionMode(mCoreOptions->stateReductionMode);
 		}
 	}
@@ -800,7 +800,7 @@ namespace bs { namespace ct
 		updateLightProbes(frameInfo);
 
 		// Gather all views
-		Vector<RendererCamera*> views;
+		Vector<RendererView*> views;
 		for (auto& rtInfo : mRenderTargets)
 		{
 			SPtr<RenderTarget> target = rtInfo.target;
@@ -809,7 +809,7 @@ namespace bs { namespace ct
 			UINT32 numCameras = (UINT32)cameras.size();
 			for (UINT32 i = 0; i < numCameras; i++)
 			{
-				RendererCamera* viewInfo = mCameras[cameras[i]];
+				RendererView* viewInfo = mCameras[cameras[i]];
 				views.push_back(viewInfo);
 			}
 		}
@@ -829,7 +829,7 @@ namespace bs { namespace ct
 		gProfilerCPU().endSample("renderAllCore");
 	}
 
-	void RenderBeast::renderViews(RendererCamera** views, UINT32 numViews, const FrameInfo& frameInfo)
+	void RenderBeast::renderViews(RendererView** views, UINT32 numViews, const FrameInfo& frameInfo)
 	{
 		// Generate render queues per camera
 		mRenderableVisibility.assign(mRenderableVisibility.size(), false);
@@ -939,7 +939,7 @@ namespace bs { namespace ct
 		}
 	}
 
-	void RenderBeast::renderView(RendererCamera* viewInfo, float frameDelta)
+	void RenderBeast::renderView(RendererView* viewInfo, float frameDelta)
 	{
 		gProfilerCPU().beginSample("Render");
 
@@ -1201,7 +1201,7 @@ namespace bs { namespace ct
 		gProfilerCPU().endSample("Render");
 	}
 
-	void RenderBeast::renderOverlay(RendererCamera* viewInfo)
+	void RenderBeast::renderOverlay(RendererView* viewInfo)
 	{
 		gProfilerCPU().beginSample("RenderOverlay");
 
@@ -1468,7 +1468,7 @@ namespace bs { namespace ct
 
 		Matrix4 viewOffsetMat = Matrix4::translation(-position);
 
-		RendererCamera views[6];
+		RendererView views[6];
 		for(UINT32 i = 0; i < 6; i++)
 		{
 			// Calculate view matrix
@@ -1534,7 +1534,7 @@ namespace bs { namespace ct
 			views[i].determineVisible(mRenderables, mRenderableCullInfos);
 		}
 
-		RendererCamera* viewPtrs[] = { &views[0], &views[1], &views[2], &views[3], &views[4], &views[5] };
+		RendererView* viewPtrs[] = { &views[0], &views[1], &views[2], &views[3], &views[4], &views[5] };
 		renderViews(viewPtrs, 6, frameInfo);
 	}
 

+ 15 - 15
Source/RenderBeast/Source/BsRendererCamera.cpp → Source/RenderBeast/Source/BsRendererView.cpp

@@ -1,6 +1,6 @@
 //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
 //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 #include "BsCamera.h"
 #include "BsRenderable.h"
 #include "BsMaterial.h"
@@ -69,13 +69,13 @@ namespace bs { namespace ct
 		clearStencilValue = src.target.clearStencilValue;
 	}
 
-	RendererCamera::RendererCamera()
+	RendererView::RendererView()
 		: mUsingGBuffer(false)
 	{
 		mParamBuffer = gPerCameraParamDef.createBuffer();
 	}
 
-	RendererCamera::RendererCamera(const RENDERER_VIEW_DESC& desc)
+	RendererView::RendererView(const RENDERER_VIEW_DESC& desc)
 		: mProperties(desc), mTargetDesc(desc.target), mCamera(desc.sceneCamera), mUsingGBuffer(false)
 	{
 		mParamBuffer = gPerCameraParamDef.createBuffer();
@@ -83,7 +83,7 @@ namespace bs { namespace ct
 		setStateReductionMode(desc.stateReduction);
 	}
 
-	void RendererCamera::setStateReductionMode(StateReduction reductionMode)
+	void RendererView::setStateReductionMode(StateReduction reductionMode)
 	{
 		mOpaqueQueue = bs_shared_ptr_new<RenderQueue>(reductionMode);
 
@@ -94,7 +94,7 @@ namespace bs { namespace ct
 		mTransparentQueue = bs_shared_ptr_new<RenderQueue>(transparentStateReduction);
 	}
 
-	void RendererCamera::setPostProcessSettings(const SPtr<PostProcessSettings>& ppSettings)
+	void RendererView::setPostProcessSettings(const SPtr<PostProcessSettings>& ppSettings)
 	{
 		if (mPostProcessInfo.settings == nullptr)
 			mPostProcessInfo.settings = bs_shared_ptr_new<StandardPostProcessSettings>();
@@ -108,7 +108,7 @@ namespace bs { namespace ct
 		mPostProcessInfo.settingDirty = true;
 	}
 
-	void RendererCamera::setTransform(const Vector3& origin, const Vector3& direction, const Matrix4& view, 
+	void RendererView::setTransform(const Vector3& origin, const Vector3& direction, const Matrix4& view, 
 									  const Matrix4& proj, const ConvexVolume& worldFrustum)
 	{
 		mProperties.viewOrigin = origin;
@@ -119,7 +119,7 @@ namespace bs { namespace ct
 		mProperties.viewProjTransform = proj * view;
 	}
 
-	void RendererCamera::setView(const RENDERER_VIEW_DESC& desc)
+	void RendererView::setView(const RENDERER_VIEW_DESC& desc)
 	{
 		if (mTargetDesc.targetWidth != desc.target.targetWidth ||
 			mTargetDesc.targetHeight != desc.target.targetHeight)
@@ -132,7 +132,7 @@ namespace bs { namespace ct
 		setStateReductionMode(desc.stateReduction);
 	}
 
-	void RendererCamera::beginRendering(bool useGBuffer)
+	void RendererView::beginRendering(bool useGBuffer)
 	{
 		if (useGBuffer)
 		{
@@ -149,7 +149,7 @@ namespace bs { namespace ct
 		}
 	}
 
-	void RendererCamera::endRendering()
+	void RendererView::endRendering()
 	{
 		mOpaqueQueue->clear();
 		mTransparentQueue->clear();
@@ -161,7 +161,7 @@ namespace bs { namespace ct
 		}
 	}
 
-	void RendererCamera::determineVisible(const Vector<RendererObject*>& renderables, const Vector<CullInfo>& cullInfos,
+	void RendererView::determineVisible(const Vector<RendererObject*>& renderables, const Vector<CullInfo>& cullInfos,
 		Vector<bool>* visibility)
 	{
 		mVisibility.renderables.clear();
@@ -208,7 +208,7 @@ namespace bs { namespace ct
 		mTransparentQueue->sort();
 	}
 
-	void RendererCamera::calculateVisibility(const Vector<CullInfo>& cullInfos, Vector<bool>& visibility) const
+	void RendererView::calculateVisibility(const Vector<CullInfo>& cullInfos, Vector<bool>& visibility) const
 	{
 		UINT64 cameraLayers = mProperties.visibleLayers;
 		const ConvexVolume& worldFrustum = mProperties.cullFrustum;
@@ -233,7 +233,7 @@ namespace bs { namespace ct
 		}
 	}
 
-	void RendererCamera::calculateVisibility(const Vector<Sphere>& bounds, Vector<bool>& visibility) const
+	void RendererView::calculateVisibility(const Vector<Sphere>& bounds, Vector<bool>& visibility) const
 	{
 		const ConvexVolume& worldFrustum = mProperties.cullFrustum;
 
@@ -244,7 +244,7 @@ namespace bs { namespace ct
 		}
 	}
 
-	Vector2 RendererCamera::getDeviceZTransform(const Matrix4& projMatrix) const
+	Vector2 RendererView::getDeviceZTransform(const Matrix4& projMatrix) const
 	{
 		// Returns a set of values that will transform depth buffer values (in range [0, 1]) to a distance
 		// in view space. This involes applying the inverse projection transform to the depth value. When you multiply
@@ -291,7 +291,7 @@ namespace bs { namespace ct
 		return output;
 	}
 
-	Vector2 RendererCamera::getNDCZTransform(const Matrix4& projMatrix) const
+	Vector2 RendererView::getNDCZTransform(const Matrix4& projMatrix) const
 	{
 		// Returns a set of values that will transform depth buffer values (e.g. [0, 1] in DX, [-1, 1] in GL) to a distance
 		// in view space. This involes applying the inverse projection transform to the depth value. When you multiply
@@ -330,7 +330,7 @@ namespace bs { namespace ct
 		return output;
 	}
 
-	void RendererCamera::updatePerViewBuffer()
+	void RendererView::updatePerViewBuffer()
 	{
 		Matrix4 viewProj = mProperties.projTransform * mProperties.viewTransform;
 		Matrix4 invViewProj = viewProj.inverse();

+ 3 - 3
Source/RenderBeast/Source/BsShadowRendering.cpp

@@ -1,11 +1,11 @@
 //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
 //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
 #include "BsShadowRendering.h"
-#include "BsRendererCamera.h"
+#include "BsRendererView.h"
 
 namespace bs { namespace ct
 {
-	ConvexVolume ShadowRendering::getCSMSplitFrustum(const RendererCamera& view, const Vector3& lightDir, UINT32 cascade, 
+	ConvexVolume ShadowRendering::getCSMSplitFrustum(const RendererView& view, const Vector3& lightDir, UINT32 cascade, 
 		UINT32 numCascades, Sphere& outBounds)
 	{
 		// Determine split range
@@ -145,7 +145,7 @@ namespace bs { namespace ct
 		return ConvexVolume(lightVolume);
 	}
 
-	float ShadowRendering::getCSMSplitDistance(const RendererCamera& view, UINT32 index, UINT32 numCascades)
+	float ShadowRendering::getCSMSplitDistance(const RendererView& view, UINT32 index, UINT32 numCascades)
 	{
 		// Determines the size of each subsequent cascade split. Value of 1 means the cascades will be linearly split.
 		// Value of 2 means each subsequent split will be twice the size of the previous one. Valid range is roughly