[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/libs/kgllib/extras/kgllib
From:       Rivo Laks <rivolaks () hot ! ee>
Date:       2008-07-25 16:53:49
Message-ID: 1217004829.376609.4793.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 837763 by rivol:

Make bloom strength configurable

 M  +17 -0     hdrglwidget.cpp  
 M  +4 -0      hdrglwidget.h  


--- trunk/playground/libs/kgllib/extras/kgllib/hdrglwidget.cpp #837762:837763
@@ -63,6 +63,9 @@
     mTonemappingTarget = 0;
     mBloomHTarget = 0;
     mBloomVTarget = 0;
+    mBloomVProgram = 0;
+    mBloomHProgram = 0;
+    mTonemappingProgram = 0;
 
     mHdrRenderingSupported = false;
     mDataPath = ".";
@@ -75,6 +78,7 @@
     mBloomEnabled = true;
     mBloomAfterTonemapping = false;
     mBloomDownsize = 2;
+    mBloomStrength = 1.0;
 }
 
 void HdrGLWidget::setDataPath(const QString& path)
@@ -82,6 +86,17 @@
     mDataPath = path;
 }
 
+void HdrGLWidget::setBloomStrength(float s)
+{
+    mBloomStrength = s;
+
+    if (mBloomVProgram) {
+        mBloomVProgram->bind();
+        mBloomVProgram->setUniform("strength", mBloomStrength);
+        mBloomVProgram->unbind();
+    }
+}
+
 void HdrGLWidget::initializeGL()
 {
     GLWidget::initializeGL();
@@ -358,6 +373,7 @@
     mBloomHTarget->texture()->enable();
     // Bind tonemapping shader
     mBloomVProgram->bind();
+    mBloomVProgram->setUniform("strength", mBloomStrength);
     // Render a quad
     setupOrthoProjection(blurw, blurh);
     render2DQuad(blurw, blurh);
@@ -461,6 +477,7 @@
     prog->bind();
     prog->setUniform("ramp", horizontal ? 0.8f : 0.0f);
     prog->setUniform("inputTexture", 0);
+    prog->setUniform("strength", horizontal ? 1.0f : mBloomStrength);
     prog->unbind();
     return prog;
 }
--- trunk/playground/libs/kgllib/extras/kgllib/hdrglwidget.h #837762:837763
@@ -68,6 +68,8 @@
 
     int bloomDownsize() const  { return mBloomDownsize; }
 
+    float bloomStrength() const  { return mBloomStrength; }
+
     float bloomRamp() const  { return mBloomRamp; }
 
     void render2DQuad(float width, float height) const;
@@ -108,6 +110,7 @@
     void setBloomEnabled(bool e)  { mBloomEnabled = e; }
     void setBloomAfterTonemapping(bool e)  { mBloomAfterTonemapping = e; }
     void setBloomDownsize(int d)  { mBloomDownsize = d; }
+    void setBloomStrength(float s);
 
 protected:
     virtual void initializeGL();
@@ -152,6 +155,7 @@
     bool mBloomAfterTonemapping;
     int mBloomDownsize;
     float mBloomRamp;
+    float mBloomStrength;
 };
 
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic