summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
Diffstat (limited to 'gui')
-rw-r--r--gui/addons.make3
-rw-r--r--gui/src/chainImage.cpp27
-rw-r--r--gui/src/chainImage.h2
-rw-r--r--gui/src/ofApp.h1
4 files changed, 32 insertions, 1 deletions
diff --git a/gui/addons.make b/gui/addons.make
index 401342a..49ff8bc 100644
--- a/gui/addons.make
+++ b/gui/addons.make
@@ -4,4 +4,5 @@ ofxMidi
ofxArtnet
ofxThreadedImageLoader
ofxSyphon
-ofxEasing \ No newline at end of file
+ofxEasing
+ofxGpuLut \ No newline at end of file
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp
index 9ff4fc5..e95ed28 100644
--- a/gui/src/chainImage.cpp
+++ b/gui/src/chainImage.cpp
@@ -408,6 +408,27 @@ void chainImage::drawRecursive(float fadeIn,bool additive,float intensity,float
glPopMatrix();
}
*/
+ofImage makeLut(float gamma,float pedestal,float clamp){
+ ofImage image;
+ image.allocate(512,512,OF_IMAGE_COLOR);
+ image.setColor(ofColor(0,0,0));
+ uint8_t *pixels=&image.getPixels()[0];
+ for (uint32_t b=0;b<64;b++){
+ uint32_t bluecolumn=b%8;
+ uint32_t bluerow=b>>3;
+ for (uint32_t g=0;g<64;g++){
+ for (uint32_t r=0;r<64;r++){
+ uint8_t *pixel=&pixels[(r+(g<<9)+(bluecolumn<<6)+(bluerow<<15))*3]; //+(b<<12))*3];
+ pixel[0]=r*4;
+ pixel[1]=g*4;
+ pixel[2]=b*4;
+ }
+ }
+ }
+ image.update();
+ return image;
+}
+
void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoomMultiplier){
//printf("Drawing chain transition: %f\n",transition);
@@ -447,7 +468,13 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
glScalef(zoomFactor,zoomFactor,zoomFactor);
//ofSetColor(colour);
+ float gamma=1.0f;
+ float pedestal=0.0f;
+ float clamp=1.0f;
+ lut.load(makeLut(gamma,pedestal,clamp));
+ lut.begin();
draw(0,0,getWidth(),getHeight());
+ lut.end();
glPopMatrix();
diff --git a/gui/src/chainImage.h b/gui/src/chainImage.h
index 78b4eaf..f67abf1 100644
--- a/gui/src/chainImage.h
+++ b/gui/src/chainImage.h
@@ -3,6 +3,7 @@
#include "ofMain.h"
#include "ofxJSON.h"
#include "ofxEasing.h"
+#include "ofxGpuLut.h"
#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) > (b) ? (a) : (b))
@@ -110,6 +111,7 @@ class chainImage : public ofImage{
bool isLoaded;
ofShader shader;
+ ofxGpuLut lut;
//int totalframes,framecount;
diff --git a/gui/src/ofApp.h b/gui/src/ofApp.h
index a7d1c06..9744184 100644
--- a/gui/src/ofApp.h
+++ b/gui/src/ofApp.h
@@ -6,6 +6,7 @@
#include "ofxMidi.h"
#include "ofxSyphon.h"
#include "chainImageSet.h"
+#include "ofxGpuLut.h"