Browse Source

Nothing important

Panagiotis Christopoulos Charitos 13 năm trước cách đây
mục cha
commit
ecda65ab62

+ 3 - 3
include/anki/util/Visitor.h

@@ -9,7 +9,7 @@
 #define ANKI_UTIL_VISITOR_H
 #define ANKI_UTIL_VISITOR_H
 
 
 #include "anki/util/Assert.h"
 #include "anki/util/Assert.h"
-#include <array>
+#include "anki/util/Array.h"
 
 
 namespace anki {
 namespace anki {
 
 
@@ -107,7 +107,7 @@ public:
 
 
 private:
 private:
 	/// Pointers to JumpPoint::visit static methods
 	/// Pointers to JumpPoint::visit static methods
-	std::array<FuncPtr, sizeof...(Types)> jumps;
+	Array<FuncPtr, sizeof...(Types)> jumps;
 
 
 	template<typename T>
 	template<typename T>
 	static void visit(TVisitor& v, void* address)
 	static void visit(TVisitor& v, void* address)
@@ -150,7 +150,7 @@ public:
 
 
 private:
 private:
 	/// Pointers to JumpPoint::visit static methods
 	/// Pointers to JumpPoint::visit static methods
-	std::array<FuncPtr, sizeof...(Types)> jumps;
+	Array<FuncPtr, sizeof...(Types)> jumps;
 
 
 	template<typename T>
 	template<typename T>
 	static void visit(TVisitor& v, TBase& base)
 	static void visit(TVisitor& v, TBase& base)

+ 20 - 6
shaders/Pps.glsl

@@ -5,7 +5,9 @@
 #pragma anki start fragmentShader
 #pragma anki start fragmentShader
 
 
 #pragma anki include "shaders/photoshop_filters.glsl"
 #pragma anki include "shaders/photoshop_filters.glsl"
+#pragma anki include "shaders/LinearDepth.glsl"
 
 
+uniform sampler2D msDepthFai;
 uniform sampler2D isFai;
 uniform sampler2D isFai;
 uniform sampler2D ppsHdrFai;
 uniform sampler2D ppsHdrFai;
 uniform sampler2D ppsSsaoFai;
 uniform sampler2D ppsSsaoFai;
@@ -30,16 +32,23 @@ vec3 saturation(in vec3 col, in float factor)
 	return mix(intensity, col, factor);
 	return mix(intensity, col, factor);
 }
 }
 
 
+//==============================================================================
+vec3 gammaCorrection(in float gamma, in vec3 col)
+{
+	return pow(col, vec3(1.0 / gamma));
+}
+
+//==============================================================================
+vec3 gammaCorrectionRgb(in vec3 gamma, in vec3 col)
+{
+	return pow(col, 1.0 / gamma);
+}
+
 //==============================================================================
 //==============================================================================
 void main(void)
 void main(void)
 {
 {
 	fColor = texture2D(isFai, vTexCoords).rgb;
 	fColor = texture2D(isFai, vTexCoords).rgb;
 
 
-	/*const float gamma = 0.7;
-	color.r = pow(color.r, 1.0 / gamma);
-	color.g = pow(color.g, 1.0 / gamma);
-	color.b = pow(color.b, 1.0 / gamma);*/
-
 #if defined(HDR_ENABLED)
 #if defined(HDR_ENABLED)
 	vec3 hdr = texture2D(ppsHdrFai, vTexCoords).rgb;
 	vec3 hdr = texture2D(ppsHdrFai, vTexCoords).rgb;
 	fColor += hdr;
 	fColor += hdr;
@@ -50,6 +59,11 @@ void main(void)
 	fColor *= ssao;
 	fColor *= ssao;
 #endif
 #endif
 
 
-	fColor = BlendHardLight(vec3(0.6, 0.62, 0.4), fColor);
+	/*float fog = 1.0 - readFromTextureAndLinearizeDepth(msDepthFai, 
+		vTexCoords, 0.1, 10.0);
+	fColor *= ;*/
+
+	//fColor = BlendHardLight(vec3(0.6, 0.62, 0.4), fColor);
+	fColor = gammaCorrectionRgb(vec3(0.9, 0.92, 0.75), fColor);
 }
 }
 
 

+ 2 - 2
src/renderer/MainRenderer.cpp

@@ -31,7 +31,7 @@ void MainRenderer::init(const Renderer::Initializer& initializer_)
 	renderingQuality = initializer.mainRendererQuality;
 	renderingQuality = initializer.mainRendererQuality;
 	initializer.width *= renderingQuality;
 	initializer.width *= renderingQuality;
 	initializer.height *= renderingQuality;
 	initializer.height *= renderingQuality;
-	initializer.pps.drawFinalToDefaultFbo = (renderingQuality == 1.0);
+	initializer.pps.drawFinalToDefaultFbo = (renderingQuality > 0.9);
 
 
 	Renderer::init(initializer);
 	Renderer::init(initializer);
 	dbg.init(initializer);
 	dbg.init(initializer);
@@ -106,7 +106,7 @@ void MainRenderer::render(Scene& scene)
 		GlStateSingleton::get().disable(GL_BLEND);
 		GlStateSingleton::get().disable(GL_BLEND);
 		sProg->bind();
 		sProg->bind();
 #if 0
 #if 0
-		const Texture& finalFai = ms.getFai0();
+		const Texture& finalFai = pps.getHdr().getFai();
 #else
 #else
 		const Texture& finalFai = pps.getFai();
 		const Texture& finalFai = pps.getFai();
 #endif
 #endif

+ 1 - 0
src/renderer/Pps.cpp

@@ -103,6 +103,7 @@ void Pps::run()
 	{
 	{
 		prog->findUniformVariable("ppsHdrFai").set(hdr.getFai());
 		prog->findUniformVariable("ppsHdrFai").set(hdr.getFai());
 	}
 	}
+	//prog->findUniformVariable("msDepthFai").set(r->getMs().getDepthFai());
 
 
 	r->drawQuad();
 	r->drawQuad();
 }
 }

+ 2 - 2
testapp/Main.cpp

@@ -292,7 +292,7 @@ void mainLoop()
 
 
 		// Sleep
 		// Sleep
 		//
 		//
-#if 0
+#if 1
 		timer.stop();
 		timer.stop();
 		if(timer.getElapsedTime() < AppSingleton::get().getTimerTick())
 		if(timer.getElapsedTime() < AppSingleton::get().getTimerTick())
 		{
 		{
@@ -355,7 +355,7 @@ void initSubsystems(int argc, char* argv[])
 	initializer.is.sm.resolution = 512;
 	initializer.is.sm.resolution = 512;
 	initializer.pps.hdr.enabled = true;
 	initializer.pps.hdr.enabled = true;
 	initializer.pps.hdr.renderingQuality = 0.25;
 	initializer.pps.hdr.renderingQuality = 0.25;
-	initializer.pps.hdr.blurringDist = 0.1;
+	initializer.pps.hdr.blurringDist = 0.0;
 	initializer.pps.hdr.blurringIterationsCount = 2;
 	initializer.pps.hdr.blurringIterationsCount = 2;
 	initializer.pps.hdr.exposure = 5.0;
 	initializer.pps.hdr.exposure = 5.0;
 	initializer.pps.ssao.blurringIterationsNum = 4;
 	initializer.pps.ssao.blurringIterationsNum = 4;