diff options
| -rw-r--r-- | gui/addons.make | 3 | ||||
| -rw-r--r-- | gui/src/chainImage.cpp | 27 | ||||
| -rw-r--r-- | gui/src/chainImage.h | 2 | ||||
| -rw-r--r-- | gui/src/ofApp.h | 1 |
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" |
