Branimir Karadžić 9 anni fa
parent
commit
ea613785e4
1 ha cambiato i file con 11 aggiunte e 12 eliminazioni
  1. 11 12
      examples/09-hdr/hdr.cpp

+ 11 - 12
examples/09-hdr/hdr.cpp

@@ -8,7 +8,6 @@
 #include "imgui/imgui.h"
 
 static float s_texelHalf = 0.0f;
-static bool  s_originBottomLeft = false;
 
 struct PosColorTexCoord0Vertex
 {
@@ -230,9 +229,8 @@ class ExampleHDR : public entry::AppI
 		// Imgui.
 		imguiCreate();
 
-		const bgfx::Caps* caps = bgfx::getCaps();
-		s_texelHalf        = bgfx::RendererType::Direct3D9 == caps->rendererType ? 0.5f : 0.0f;
-		s_originBottomLeft = caps->originBottomLeft;
+		m_caps = bgfx::getCaps();
+		s_texelHalf = bgfx::RendererType::Direct3D9 == m_caps->rendererType ? 0.5f : 0.0f;
 
 		m_oldWidth  = 0;
 		m_oldHeight = 0;
@@ -441,35 +439,35 @@ class ExampleHDR : public entry::AppI
 			setOffsets2x2Lum(u_offset, 128, 128);
 			bgfx::setTexture(0, s_texColor, m_fbtextures[0]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad(128.0f, 128.0f, s_originBottomLeft);
+			screenSpaceQuad(128.0f, 128.0f, m_caps->originBottomLeft);
 			bgfx::submit(2, m_lumProgram);
 
 			// Downscale luminance 0.
 			setOffsets4x4Lum(u_offset, 128, 128);
 			bgfx::setTexture(0, s_texColor, m_lum[0]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad(64.0f, 64.0f, s_originBottomLeft);
+			screenSpaceQuad(64.0f, 64.0f, m_caps->originBottomLeft);
 			bgfx::submit(3, m_lumAvgProgram);
 
 			// Downscale luminance 1.
 			setOffsets4x4Lum(u_offset, 64, 64);
 			bgfx::setTexture(0, s_texColor, m_lum[1]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad(16.0f, 16.0f, s_originBottomLeft);
+			screenSpaceQuad(16.0f, 16.0f, m_caps->originBottomLeft);
 			bgfx::submit(4, m_lumAvgProgram);
 
 			// Downscale luminance 2.
 			setOffsets4x4Lum(u_offset, 16, 16);
 			bgfx::setTexture(0, s_texColor, m_lum[2]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad(4.0f, 4.0f, s_originBottomLeft);
+			screenSpaceQuad(4.0f, 4.0f, m_caps->originBottomLeft);
 			bgfx::submit(5, m_lumAvgProgram);
 
 			// Downscale luminance 3.
 			setOffsets4x4Lum(u_offset, 4, 4);
 			bgfx::setTexture(0, s_texColor, m_lum[3]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad(1.0f, 1.0f, s_originBottomLeft);
+			screenSpaceQuad(1.0f, 1.0f, m_caps->originBottomLeft);
 			bgfx::submit(6, m_lumAvgProgram);
 
 			float tonemap[4] = { m_middleGray, square(m_white), m_threshold, m_time };
@@ -480,13 +478,13 @@ class ExampleHDR : public entry::AppI
 			bgfx::setTexture(0, s_texColor, m_fbtextures[0]);
 			bgfx::setTexture(1, s_texLum, m_lum[4]);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad( (float)m_width/2.0f, (float)m_height/2.0f, s_originBottomLeft);
+			screenSpaceQuad( (float)m_width/2.0f, (float)m_height/2.0f, m_caps->originBottomLeft);
 			bgfx::submit(7, m_brightProgram);
 
 			// m_blur m_bright pass vertically.
 			bgfx::setTexture(0, s_texColor, m_bright);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad( (float)m_width/8.0f, (float)m_height/8.0f, s_originBottomLeft);
+			screenSpaceQuad( (float)m_width/8.0f, (float)m_height/8.0f, m_caps->originBottomLeft);
 			bgfx::submit(8, m_blurProgram);
 
 			// m_blur m_bright pass horizontally, do tonemaping and combine.
@@ -494,7 +492,7 @@ class ExampleHDR : public entry::AppI
 			bgfx::setTexture(1, s_texLum, m_lum[4]);
 			bgfx::setTexture(2, s_texBlur, m_blur);
 			bgfx::setState(BGFX_STATE_RGB_WRITE|BGFX_STATE_ALPHA_WRITE);
-			screenSpaceQuad( (float)m_width, (float)m_height, s_originBottomLeft);
+			screenSpaceQuad( (float)m_width, (float)m_height, m_caps->originBottomLeft);
 			bgfx::submit(9, m_tonemapProgram);
 
 			if (bgfx::isValid(m_rb) )
@@ -558,6 +556,7 @@ class ExampleHDR : public entry::AppI
 
 	int32_t m_scrollArea;
 
+	const bgfx::Caps* m_caps;
 	float m_time;
 };