浏览代码

HiZ generation enabled

BearishSun 8 年之前
父节点
当前提交
05c9eaed34
共有 2 个文件被更改,包括 6 次插入1 次删除
  1. 1 1
      Source/RenderBeast/Source/BsPostProcessing.cpp
  2. 5 0
      Source/RenderBeast/Source/BsRenderBeast.cpp

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

@@ -1069,7 +1069,7 @@ namespace bs { namespace ct
 
 
 		// Generate remaining mip levels
 		// Generate remaining mip levels
 		const TextureProperties& outProps = output->getProperties();
 		const TextureProperties& outProps = output->getProperties();
-		for(UINT32 i = 1; i < outProps.getNumMipmaps(); i++)
+		for(UINT32 i = 1; i <= outProps.getNumMipmaps(); i++)
 		{
 		{
 			rtDesc.colorSurfaces[0].mipLevel = i;
 			rtDesc.colorSurfaces[0].mipLevel = i;
 
 

+ 5 - 0
Source/RenderBeast/Source/BsRenderBeast.cpp

@@ -536,6 +536,10 @@ namespace bs { namespace ct
 			renderElement(*renderElem, iter->passIdx, iter->applyPass, viewProj);
 			renderElement(*renderElem, iter->passIdx, iter->applyPass, viewProj);
 		}
 		}
 
 
+		// Build HiZ buffer
+		// TODO - Avoid generating it unless it actually gets used in some system
+		renderTargets->generateHiZ();
+
 		// Trigger post-base-pass callbacks
 		// Trigger post-base-pass callbacks
 		if (viewProps.triggerCallbacks)
 		if (viewProps.triggerCallbacks)
 		{
 		{
@@ -688,6 +692,7 @@ namespace bs { namespace ct
 			gRendererUtility().blit(sceneColor, Rect2I::EMPTY, viewProps.flipView);
 			gRendererUtility().blit(sceneColor, Rect2I::EMPTY, viewProps.flipView);
 		}
 		}
 
 
+		renderTargets->releaseHiZ();
 		renderTargets->release(RTT_SceneColor);
 		renderTargets->release(RTT_SceneColor);
 
 
 		// Trigger overlay callbacks
 		// Trigger overlay callbacks