Explorar el Código

Build: Updated 'bsf' version

BearishSun hace 6 años
padre
commit
b1a566cb97

+ 3 - 3
Source/EditorCore/EditorWindow/BsDockManager.cpp

@@ -1141,12 +1141,12 @@ namespace bs
 		mHighlightedDropLoc = location;
 	}
 
-	bool DockOverlayRenderer::check(const Camera& camera)
+	RendererExtensionRequest DockOverlayRenderer::check(const Camera& camera)
 	{
-		return mCamera.get() == &camera;
+		return mCamera.get() == &camera ? RendererExtensionRequest::ForceRender : RendererExtensionRequest::DontRender;
 	}
 
-	void DockOverlayRenderer::render(const Camera& camera)
+	void DockOverlayRenderer::render(const Camera& camera, const RendererViewContext& viewContext)
 	{
 		THROW_IF_NOT_CORE_THREAD;
 

+ 2 - 2
Source/EditorCore/EditorWindow/BsDockManager.h

@@ -271,10 +271,10 @@ namespace bs
 		void initialize(const Any& data) override;
 
 		/**	@copydoc RendererExtension::check */
-		bool check(const Camera& camera) override;
+		RendererExtensionRequest check(const Camera& camera) override;
 
 		/**	@copydoc RendererExtension::render */
-		void render(const Camera& camera) override;
+		void render(const Camera& camera, const RendererViewContext& viewContext) override;
 
 		/**
 		 * Updates the grid mesh to render.

+ 5 - 5
Source/EditorCore/GUI/BsGUIColor.cpp

@@ -87,8 +87,8 @@ namespace bs
 		return GUIHelper::calcOptimalContentsSize(Vector2I(80, 10), *_getStyle(), _getDimensions()); // Arbitrary size
 	}
 
-	void GUIColor::_fillBuffer(UINT8* vertices, UINT32* indices, UINT32 vertexOffset, UINT32 indexOffset,
-		UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const
+	void GUIColor::_fillBuffer(UINT8* vertices, UINT32* indices, UINT32 vertexOffset, UINT32 indexOffset, 
+		const Vector2I& offset, UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const
 	{
 		UINT8* uvs = vertices + sizeof(Vector2);
 		UINT32 vertexStride = sizeof(Vector2) * 2;
@@ -96,15 +96,15 @@ namespace bs
 		
 		UINT32 alphaSpriteIdx = mColorSprite->getNumRenderElements();
 		
-		Vector2I offset(mLayoutData.area.x, mLayoutData.area.y);
+		Vector2I spriteOffset = Vector2I(mLayoutData.area.x, mLayoutData.area.y) + offset;
 		if(renderElementIdx < alphaSpriteIdx)
 		{
 			mColorSprite->fillBuffer(vertices, uvs, indices, vertexOffset, indexOffset, maxNumVerts, maxNumIndices,
-				vertexStride, indexStride, renderElementIdx, offset, mLayoutData.getLocalClipRect());
+				vertexStride, indexStride, renderElementIdx, spriteOffset, mLayoutData.getLocalClipRect());
 		}
 		else if(renderElementIdx >= alphaSpriteIdx)
 		{
-			Vector2I alphaOffset = offset;
+			Vector2I alphaOffset = spriteOffset;
 			UINT32 xOffset = (UINT32)(mLayoutData.area.width * ALPHA_SPLIT_POSITION);
 			alphaOffset.x += xOffset;
 

+ 1 - 1
Source/EditorCore/GUI/BsGUIColor.h

@@ -60,7 +60,7 @@ namespace bs
 
 		/** @copydoc GUIElement::_fillBuffer() */
 		void _fillBuffer(UINT8* vertices, UINT32* indices, UINT32 vertexOffset, UINT32 indexOffset, 
-			UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const override;
+			const Vector2I& offset, UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const override;
 
 		/** @copydoc GUIElement::updateRenderElementsInternal() */
 		void updateRenderElementsInternal() override;

+ 4 - 4
Source/EditorCore/GUI/BsGUIColorGradient.cpp

@@ -98,7 +98,7 @@ namespace bs
 
 	template<class T, class SELF>
 	void TGUIColorGradient<T, SELF>::_fillBuffer(UINT8* vertices, UINT32* indices, UINT32 vertexOffset, UINT32 indexOffset,
-		UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const
+		const Vector2I& offset, UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const
 	{
 		UINT8* uvs = vertices + sizeof(Vector2);
 		UINT32 vertexStride = sizeof(Vector2) * 2;
@@ -106,15 +106,15 @@ namespace bs
 		
 		UINT32 alphaSpriteIdx = mColorSprite->getNumRenderElements();
 		
-		Vector2I offset(mLayoutData.area.x, mLayoutData.area.y);
+		Vector2I spriteOffset = Vector2I(mLayoutData.area.x, mLayoutData.area.y) + offset;
 		if(renderElementIdx < alphaSpriteIdx)
 		{
 			mColorSprite->fillBuffer(vertices, uvs, indices, vertexOffset, indexOffset, maxNumVerts, maxNumIndices,
-				vertexStride, indexStride, renderElementIdx, offset, mLayoutData.getLocalClipRect());
+				vertexStride, indexStride, renderElementIdx, spriteOffset, mLayoutData.getLocalClipRect());
 		}
 		else if(renderElementIdx >= alphaSpriteIdx)
 		{
-			Vector2I alphaOffset = offset;
+			Vector2I alphaOffset = spriteOffset;
 			UINT32 yOffset = (UINT32)(mLayoutData.area.height * ALPHA_SPLIT_POSITION);
 			alphaOffset.y += yOffset;
 

+ 1 - 1
Source/EditorCore/GUI/BsGUIColorGradient.h

@@ -68,7 +68,7 @@ namespace bs
 
 		/** @copydoc GUIElement::_fillBuffer() */
 		void _fillBuffer(UINT8* vertices, UINT32* indices, UINT32 vertexOffset, UINT32 indexOffset, 
-			UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const override;
+			const Vector2I& offset, UINT32 maxNumVerts, UINT32 maxNumIndices, UINT32 renderElementIdx) const override;
 
 		/** @copydoc GUIElement::updateRenderElementsInternal() */
 		void updateRenderElementsInternal() override;

+ 4 - 4
Source/EditorCore/Handles/BsHandleDrawManager.cpp

@@ -293,18 +293,18 @@ namespace bs
 		bs_zero_out(mTypeCounters);
 	}
 
-	bool HandleRenderer::check(const Camera& camera)
+	RendererExtensionRequest HandleRenderer::check(const Camera& camera)
 	{
 		for(auto& entry : mQueuedData)
 		{
 			if (entry.camera.get() == &camera)
-				return true;
+				return RendererExtensionRequest::ForceRender;
 		}
 
-		return false;
+		return RendererExtensionRequest::DontRender;
 	}
 
-	void HandleRenderer::render(const Camera& camera)
+	void HandleRenderer::render(const Camera& camera, const RendererViewContext& viewContext)
 	{
 		THROW_IF_NOT_CORE_THREAD;
 

+ 4 - 4
Source/EditorCore/Handles/BsHandleDrawManager.h

@@ -250,11 +250,11 @@ namespace bs
 		/** @copydoc RendererExtension::destroy */
 		void destroy() override;
 
-		/** @copydoc RendererExtension::check */
-		bool check(const Camera& camera) override;
+		/**	@copydoc RendererExtension::check */
+		RendererExtensionRequest check(const Camera& camera) override;
 
-		/** @copydoc RendererExtension::render */
-		void render(const Camera& camera) override;
+		/**	@copydoc RendererExtension::render */
+		void render(const Camera& camera, const RendererViewContext& viewContext) override;
 
 		/**
 		 * Queues new data for rendering.

+ 3 - 3
Source/EditorCore/Scene/BsGizmoManager.cpp

@@ -1052,12 +1052,12 @@ namespace bs
 		}
 	}
 
-	bool GizmoRenderer::check(const Camera& camera)
+	RendererExtensionRequest GizmoRenderer::check(const Camera& camera)
 	{
-		return &camera == mCamera.get();
+		return &camera == mCamera.get() ? RendererExtensionRequest::ForceRender : RendererExtensionRequest::DontRender;
 	}
 
-	void GizmoRenderer::render(const Camera& camera)
+	void GizmoRenderer::render(const Camera& camera, const RendererViewContext& viewContext)
 	{
 		renderData(mCamera, mMeshes, mIconMesh, mIconRenderData, false);
 	}

+ 2 - 2
Source/EditorCore/Scene/BsGizmoManager.h

@@ -583,10 +583,10 @@ namespace bs
 		void initialize(const Any& data) override;
 
 		/**	@copydoc RendererExtension::check */
-		bool check(const Camera& camera) override;
+		RendererExtensionRequest check(const Camera& camera) override;
 
 		/**	@copydoc RendererExtension::render */
-		void render(const Camera& camera) override;
+		void render(const Camera& camera, const RendererViewContext& viewContext) override;
 
 		/**	
 		 * Renders all provided meshes using the provided camera. 

+ 3 - 3
Source/EditorCore/Scene/BsSceneGrid.cpp

@@ -206,12 +206,12 @@ namespace bs
 		mGridPlaneNormal = gridPlaneNormal;
 	}
 
-	bool SceneGridRenderer::check(const Camera& camera)
+	RendererExtensionRequest SceneGridRenderer::check(const Camera& camera)
 	{
-		return mCamera.get() == &camera;
+		return mCamera.get() == &camera ? RendererExtensionRequest::ForceRender : RendererExtensionRequest::DontRender;
 	}
 
-	void SceneGridRenderer::render(const Camera& camera)
+	void SceneGridRenderer::render(const Camera& camera, const RendererViewContext& viewContext)
 	{
 		THROW_IF_NOT_CORE_THREAD;
 

+ 2 - 2
Source/EditorCore/Scene/BsSceneGrid.h

@@ -91,10 +91,10 @@ namespace bs
 		void initialize(const Any& data) override;
 
 		/**	@copydoc RendererExtension::check */
-		bool check(const Camera& camera) override;
+		RendererExtensionRequest check(const Camera& camera) override;
 
 		/**	@copydoc RendererExtension::render */
-		void render(const Camera& camera) override;
+		void render(const Camera& camera, const RendererViewContext& viewContext) override;
 
 		/**
 		 * Updates the grid mesh to render.

+ 3 - 3
Source/EditorCore/Scene/BsSelectionRenderer.cpp

@@ -127,12 +127,12 @@ namespace bs
 		mObjects = objects;
 	}
 
-	bool SelectionRendererCore::check(const Camera& camera)
+	RendererExtensionRequest SelectionRendererCore::check(const Camera& camera)
 	{
-		return mCamera.get() == &camera;
+		return mCamera.get() == &camera ? RendererExtensionRequest::ForceRender : RendererExtensionRequest::DontRender;
 	}
 
-	void SelectionRendererCore::render(const Camera& camera)
+	void SelectionRendererCore::render(const Camera& camera, const RendererViewContext& viewContext)
 	{
 		THROW_IF_NOT_CORE_THREAD;
 

+ 4 - 4
Source/EditorCore/Scene/BsSelectionRenderer.h

@@ -46,11 +46,11 @@ namespace bs
 		/** @copydoc RendererExtension::initialize */
 		void initialize(const Any& data) override;
 
-		/** @copydoc RendererExtension::check */
-		bool check(const Camera& camera) override;
+		/**	@copydoc RendererExtension::check */
+		RendererExtensionRequest check(const Camera& camera) override;
 
-		/** @copydoc RendererExtension::render */
-		void render(const Camera& camera) override;
+		/**	@copydoc RendererExtension::render */
+		void render(const Camera& camera, const RendererViewContext& viewContext) override;
 
 		/**
 		 * Updates the internal data that determines what will be rendered on the next render() call.

+ 1 - 1
Source/bsf

@@ -1 +1 @@
-Subproject commit 922dfa755a37803a0fda66ae6e535d69775e164c
+Subproject commit e9977b42f8a83100ac29cc12a4779ab5d6b48202