diff --git a/oscope-sphere/src/SphereViz.cpp b/oscope-sphere/src/SphereViz.cpp index 500a878..89048c5 100644 --- a/oscope-sphere/src/SphereViz.cpp +++ b/oscope-sphere/src/SphereViz.cpp @@ -66,14 +66,18 @@ void SphereViz::setWaveform(const std::vector& ch1, waveTex_.loadData(wavePix_); } -void SphereViz::drawSkin() { - shader_.begin(); +void SphereViz::bindUniforms() { shader_.setUniformTexture("spectroTex", spectroTex_, 0); shader_.setUniformTexture("waveformTex", waveTex_, 1); shader_.setUniform1f("scrollOffset", scrollOffset_); shader_.setUniform1f("displaceAmount", displace_); shader_.setUniform1f("baseRadius", baseRadius_); shader_.setUniform1i("colormapId", colormapId_); +} + +void SphereViz::drawSkin() { + shader_.begin(); + bindUniforms(); shader_.setUniform1i("renderMode", 0); mesh_.draw(); shader_.end(); @@ -81,12 +85,7 @@ void SphereViz::drawSkin() { void SphereViz::drawPoints() { shader_.begin(); - shader_.setUniformTexture("spectroTex", spectroTex_, 0); - shader_.setUniformTexture("waveformTex", waveTex_, 1); - shader_.setUniform1f("scrollOffset", scrollOffset_); - shader_.setUniform1f("displaceAmount", displace_); - shader_.setUniform1f("baseRadius", baseRadius_); - shader_.setUniform1i("colormapId", colormapId_); + bindUniforms(); shader_.setUniform1i("renderMode", 1); mesh_.drawVertices(); shader_.end(); diff --git a/oscope-sphere/src/SphereViz.h b/oscope-sphere/src/SphereViz.h index d3b8674..a4a8811 100644 --- a/oscope-sphere/src/SphereViz.h +++ b/oscope-sphere/src/SphereViz.h @@ -22,6 +22,8 @@ public: void setColormap(int id) { colormapId_ = id; } private: + void bindUniforms(); + std::unique_ptr spectro_; ofVboMesh mesh_; ofShader shader_;