refactor: share sphere shader uniform binding

drawSkin and drawPoints duplicated six uniform-setup lines. Extract
them into a private bindUniforms helper so future uniforms are added
in one place.
This commit is contained in:
L'électron rare
2026-05-18 17:36:37 +02:00
parent a8be68adff
commit 30fa7276c8
2 changed files with 9 additions and 8 deletions
+7 -8
View File
@@ -66,14 +66,18 @@ void SphereViz::setWaveform(const std::vector<float>& 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();
+2
View File
@@ -22,6 +22,8 @@ public:
void setColormap(int id) { colormapId_ = id; }
private:
void bindUniforms();
std::unique_ptr<oscope::SpectrogramBuffer> spectro_;
ofVboMesh mesh_;
ofShader shader_;