diff options
| author | Tim Redfern <tim@getdrop.com> | 2018-08-29 13:02:50 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2018-08-29 13:02:50 +0100 |
| commit | 2fffe4f87ca2cf1c5383aa3000c371e491e46310 (patch) | |
| tree | 7fc285022a3fb790d438b05e539e3cdd31b95bf0 /gui/src | |
| parent | 25873b7bd177c6bb4ad4b00a51eb8fa213468126 (diff) | |
read LUT correctly
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/chainImage.cpp | 27 | ||||
| -rw-r--r-- | gui/src/chainImage.h | 2 | ||||
| -rw-r--r-- | gui/src/ofApp.h | 1 |
3 files changed, 30 insertions, 0 deletions
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" |
