void ofApp::reset(){ //sphere radius radius = 100; spot.setDiffuseColor(ofFloatColor(255.0, 0.0, 0.0f)); spot.setSpecularColor(ofColor(0, 0, 255)); spot.setSpotlight(); spot.setSpotConcentration(5); spot.setSpotlightCutOff(10); spot_rot = ofVec3f(0, 0, 0); setLightOri(spot, spot_rot); spot.setPosition(0, 0, 300); point.setDiffuseColor(ofColor(0.0, 255.0, 0.0)); point.setPointLight(); dir.setDiffuseColor(ofColor(0.0f, 0.0f, 255.0f)); dir.setSpecularColor(ofColor(255.0f, 0.0f, 0.0f)); dir.setDirectional(); dir_rot = ofVec3f(0, -95, 0); setLightOri(dir, dir_rot); amb.setAmbientColor(ofColor(20.0, 20.0, 20.0, 20.0)); material.setShininess(120); material.setSpecularColor(ofColor(255, 255, 255, 255)); material.setEmissiveColor(ofColor(0, 0, 0, 255)); material.setDiffuseColor(ofColor(255, 255, 255, 255)); material.setAmbientColor(ofColor(255, 255, 255, 255)); cull = true; useSpot = true; usePoint = true; useAmb = true; useDir = true; autoRotatePoint = true; showDirSource = true; showSpotSource = true; showPointSource = true; cam.reset(); setGUI(); doReset = false; }
void ofApp::apply_gui_parameter() { /******************** ********************/ spot.setSpotlightCutOff(spot_cutoff); spot.setSpotConcentration(spot_concentration); spot.setPosition(spot_position); spot.setDiffuseColor(ofColor(spotColor_diffuse)); spot.setSpecularColor(ofColor(spotColor_specular)); if(b_spot_lookat){ spot.lookAt(spot_position_lookat); }else{ setLightOri(spot, spot_orientation); } spot.setAttenuation(spot_attenuation_constant, spot_attenuation_linear, spot_attenuation_quadratic); /******************** ********************/ dir.setPosition(dir_position); dir.setDiffuseColor(ofColor(dirColor_diffuse)); dir.setSpecularColor(ofColor(dirColor_specular)); if(b_dir_lookat){ dir.lookAt(dir_position_lookat); }else{ setLightOri(dir, dir_orientation); } dir.setAttenuation(dir_attenuation_constant, dir_attenuation_linear, dir_attenuation_quadratic); /******************** ********************/ point.setPosition(point_position); point.setDiffuseColor(ofColor(pointColor_diffuse)); point.setSpecularColor(ofColor(pointColor_specular)); point.setAttenuation(point_attenuation_constant, point_attenuation_linear, point_attenuation_quadratic); /******************** ********************/ material.setShininess(MaterialShine); material.setDiffuseColor(ofColor(materialColor_diffuse)); material.setAmbientColor(ofColor(materialColor_diffuse)); material.setEmissiveColor(ofColor(materialColor_emissive)); material.setSpecularColor(ofColor(materialColor_specular)); /******************** ********************/ amb.setAmbientColor(ofColor(AmbientColor)); }
void ParametricObject::setup(){ ofBackground(0); ofSetFrameRate(30); ofEnableAlphaBlending(); ofEnableSmoothing(); ofSetGlobalAmbientColor(ofColor(0, 0, 0)); ofSetSmoothLighting(true); glEnable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); ofSetSphereResolution(100); //sphere radius spot.setDiffuseColor(ofFloatColor(255.0, 0.0, 0.0f)); spot.setSpecularColor(ofColor(0, 0, 255)); spot.setSpotlight(); spot.setSpotConcentration(5); spot.setSpotlightCutOff(10); spot_rot = ofVec3f(0, 0, 0); setLightOri(spot, spot_rot); spot.setPosition(0, 0, 300); point.setDiffuseColor(ofColor(0.0, 255.0, 0.0)); point.setPointLight(); dir.setDiffuseColor(ofColor(0.0f, 0.0f, 255.0f)); dir.setSpecularColor(ofColor(255.0f, 0.0f, 0.0f)); dir.setDirectional(); dir_rot = ofVec3f(0, -95, 0); setLightOri(dir, dir_rot); amb.setAmbientColor(ofColor(20.0, 20.0, 20.0, 20.0)); material.setShininess(120); material.setSpecularColor(ofColor(255, 255, 255, 255)); material.setEmissiveColor(ofColor(0, 0, 0, 255)); material.setDiffuseColor(ofColor(255, 255, 255, 255)); material.setAmbientColor(ofColor(255, 255, 255, 255)); }
void testApp::guiEvent(ofxUIEventArgs &e){ // // Material // if(e.widget->getName() == "M SHINY"){ ofxUISlider *slider = (ofxUISlider *) e.widget; whiteMat.setShininess(slider->getScaledValue()); } // Material Diffusion if(e.widget->getName() == "M DIFF R"){ ofColor c = whiteMat.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); whiteMat.setDiffuseColor(c); } if(e.widget->getName() == "M DIFF G"){ ofColor c = whiteMat.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); whiteMat.setDiffuseColor(c); } if(e.widget->getName() == "M DIFF B"){ ofColor c = whiteMat.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); whiteMat.setDiffuseColor(c); } // Material Spec if(e.widget->getName() == "M SPEC R"){ ofColor c = whiteMat.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); whiteMat.setSpecularColor(c); } if(e.widget->getName() == "M SPEC G"){ ofColor c = whiteMat.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); whiteMat.setSpecularColor(c); } if(e.widget->getName() == "M SPEC B"){ ofColor c = whiteMat.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); whiteMat.setSpecularColor(c); } // // Lighting // if(e.widget->getName() == "AMBI R"){ ofColor c = lightAmb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightAmb.setAmbientColor(c); } if(e.widget->getName() == "AMBI G"){ ofColor c = lightAmb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightAmb.setAmbientColor(c); } if(e.widget->getName() == "AMBI B"){ ofColor c = lightAmb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightAmb.setAmbientColor(c); } // Directional 1 if(e.widget->getName() == "D1 DR"){ ofColor c = lightDir1.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir1.setDiffuseColor(c); } if(e.widget->getName() == "D1 DG"){ ofColor c = lightDir1.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir1.setDiffuseColor(c); } if(e.widget->getName() == "D1 DB"){ ofColor c = lightDir1.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir1.setDiffuseColor(c); } if(e.widget->getName() == "D1 SR"){ ofColor c = lightDir1.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir1.setSpecularColor(c); } if(e.widget->getName() == "D1 SG"){ ofColor c = lightDir1.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir1.setSpecularColor(c); } if(e.widget->getName() == "D1 SB"){ ofColor c = lightDir1.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir1.setSpecularColor(c); } if(e.widget->getName() == "D1 X"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir1_rot.x = slider->getScaledValue(); setLightOri(lightDir1,lightDir1_rot); } if(e.widget->getName() == "D1 Y"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir1_rot.y = slider->getScaledValue(); setLightOri(lightDir1,lightDir1_rot); } if(e.widget->getName() == "D1 Z"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir1_rot.z = slider->getScaledValue(); setLightOri(lightDir1,lightDir1_rot); } // Directional 2 if(e.widget->getName() == "D2 DR"){ ofColor c = lightDir2.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir2.setDiffuseColor(c); } if(e.widget->getName() == "D2 DG"){ ofColor c = lightDir2.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir2.setDiffuseColor(c); } if(e.widget->getName() == "D2 DB"){ ofColor c = lightDir2.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir2.setDiffuseColor(c); } if(e.widget->getName() == "D2 SR"){ ofColor c = lightDir2.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir2.setSpecularColor(c); } if(e.widget->getName() == "D2 SG"){ ofColor c = lightDir2.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir2.setSpecularColor(c); } if(e.widget->getName() == "D2 SB"){ ofColor c = lightDir2.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir2.setSpecularColor(c); } if(e.widget->getName() == "D2 X"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir2_rot.x = slider->getScaledValue(); setLightOri(lightDir2,lightDir2_rot); } if(e.widget->getName() == "D2 Y"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir2_rot.y = slider->getScaledValue(); setLightOri(lightDir2,lightDir2_rot); } if(e.widget->getName() == "D2 Z"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir2_rot.z = slider->getScaledValue(); setLightOri(lightDir2,lightDir2_rot); } // Directional 3 if(e.widget->getName() == "D3 DR"){ ofColor c = lightDir3.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir3.setDiffuseColor(c); } if(e.widget->getName() == "D3 DG"){ ofColor c = lightDir3.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir3.setDiffuseColor(c); } if(e.widget->getName() == "D3 DB"){ ofColor c = lightDir3.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir3.setDiffuseColor(c); } if(e.widget->getName() == "D3 SR"){ ofColor c = lightDir3.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.r = slider->getScaledValue(); lightDir3.setSpecularColor(c); } if(e.widget->getName() == "D3 SG"){ ofColor c = lightDir3.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.g = slider->getScaledValue(); lightDir3.setSpecularColor(c); } if(e.widget->getName() == "D3 SB"){ ofColor c = lightDir3.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *) e.widget; c.b = slider->getScaledValue(); lightDir3.setSpecularColor(c); } if(e.widget->getName() == "D3 X"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir3_rot.x = slider->getScaledValue(); setLightOri(lightDir3,lightDir3_rot); } if(e.widget->getName() == "D3 Y"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir3_rot.y = slider->getScaledValue(); setLightOri(lightDir3,lightDir3_rot); } if(e.widget->getName() == "D3 Z"){ ofxUISlider *slider = (ofxUISlider *) e.widget; lightDir3_rot.z = slider->getScaledValue(); setLightOri(lightDir3,lightDir3_rot); } // // Controls // if(e.widget->getName() == "SAVE"){ ofxUIButton *button = (ofxUIButton *) e.widget; gui->saveSettings("GUI/guiSettings.xml"); } }
void ofApp::guiEvent(ofxUIEventArgs &e){ string name = e.widget->getName(); int kind = e.widget->getKind(); if (name == "Radius") { ofxUISlider *slider = (ofxUISlider *) e.widget; radius = slider->getScaledValue(); } else if (name == "Spot Source") { ofxUIToggle *toggle = (ofxUIToggle *) e.widget; showSpotSource = toggle->getValue(); } else if (name == "Cutoff") { ofxUISlider *slider = (ofxUISlider *)e.widget; spot.setSpotlightCutOff(slider->getScaledValue()); } else if (name == "Cons") { ofxUISlider *slider = (ofxUISlider *)e.widget; spot.setSpotConcentration(slider->getScaledValue()); } else if (name == "SX_POS") { ofxUISlider *slider = (ofxUISlider *)e.widget; ofVec3f curpos = spot.getPosition(); curpos.x = slider->getScaledValue(); spot.setPosition(curpos); } else if (name == "SY_POS") { ofxUISlider *slider = (ofxUISlider *)e.widget; ofVec3f curpos = spot.getPosition(); curpos.y = slider->getScaledValue(); spot.setPosition(curpos); } else if (name == "SZ_POS") { ofxUISlider *slider = (ofxUISlider *)e.widget; ofVec3f curpos = spot.getPosition(); curpos.z = slider->getScaledValue(); spot.setPosition(curpos); /* spot orientation */ } else if (name == "SX_ORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; spot_rot.x = slider->getScaledValue(); setLightOri(spot, spot_rot); } else if (name == "SY_ORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; spot_rot.y = slider->getScaledValue(); setLightOri(spot, spot_rot); } else if (name == "SZ_ORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; spot_rot.z = slider->getScaledValue(); setLightOri(spot, spot_rot); /* spot diffuse colour */ } else if (name == "SDR") { ofColor c = spot.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(spotDiffSlider, c, slider->getScaledValue()); spot.setDiffuseColor(c); } else if (name == "SDG") { ofColor c = spot.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(spotDiffSlider, c, slider->getScaledValue()); spot.setDiffuseColor(c); } else if (name == "SDB") { ofColor c = spot.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(spotDiffSlider, c, slider->getScaledValue()); spot.setDiffuseColor(c); } else if (name == "SDA") { ofColor c = spot.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); spot.setDiffuseColor(c); /* spot specular colour */ } else if (name == "SSR") { ofColor c = spot.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(spotspecslider, c, slider->getScaledValue()); spot.setSpecularColor(c); } else if (name == "SSG") { ofColor c = spot.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(spotspecslider, c, slider->getScaledValue()); spot.setSpecularColor(c); } else if (name == "SSB") { ofColor c = spot.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(spotspecslider, c, slider->getScaledValue()); spot.setSpecularColor(c); } else if (name == "SSA") { ofColor c = spot.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); spot.setSpecularColor(c); /* directional light parms */ } else if (name == "Dir Source") { ofxUIToggle *toggle = (ofxUIToggle *) e.widget; showDirSource = toggle->getValue(); } else if (name == "DIR_XORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; dir_rot.x = slider->getScaledValue(); setLightOri(dir, dir_rot); } else if (name == "DIR_YORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; dir_rot.y = slider->getScaledValue(); setLightOri(dir, dir_rot); } else if (name == "DIR_ZORI") { ofxUISlider *slider = (ofxUISlider *)e.widget; dir_rot.z = slider->getScaledValue(); setLightOri(dir, dir_rot); /* directional diffuse colour */ } else if (name == "DDR") { ofColor c = dir.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(dirDiffSlider, c, slider->getScaledValue()); dir.setDiffuseColor(c); } else if (name == "DDG") { ofColor c = dir.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(dirDiffSlider, c, slider->getScaledValue()); dir.setDiffuseColor(c); } else if (name == "DDB") { ofColor c = dir.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(dirDiffSlider, c, slider->getScaledValue()); dir.setDiffuseColor(c); } else if (name == "DDA") { ofColor c = dir.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); dir.setDiffuseColor(c); /* directional specular colour */ } else if (name == "DSR") { ofColor c = dir.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(dirspecslider, c, slider->getScaledValue()); dir.setSpecularColor(c); } else if (name == "DSG") { ofColor c = dir.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(dirspecslider, c, slider->getScaledValue()); dir.setSpecularColor(c); } else if (name == "DSB") { ofColor c = dir.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(dirspecslider, c, slider->getScaledValue()); dir.setSpecularColor(c); } else if (name == "DSA") { ofColor c = dir.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); dir.setSpecularColor(c); /* point diffuse colour */ } else if (name == "Point Source") { ofxUIToggle *toggle = (ofxUIToggle *) e.widget; showPointSource = toggle->getValue(); } else if (name == "PDR") { ofColor c = point.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(pointDiffSlider, c, slider->getScaledValue()); point.setDiffuseColor(c); } else if (name == "PDG") { ofColor c = point.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(pointDiffSlider, c, slider->getScaledValue()); point.setDiffuseColor(c); } else if (name == "PDB") { ofColor c = point.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(pointDiffSlider, c, slider->getScaledValue()); point.setDiffuseColor(c); } else if (name == "PDA") { ofColor c = point.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); point.setDiffuseColor(c); /* point specular colour */ } else if (name == "PSR") { ofColor c = point.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(pointspecslider, c, slider->getScaledValue()); point.setSpecularColor(c); } else if (name == "PSG") { ofColor c = point.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(pointspecslider, c, slider->getScaledValue()); point.setSpecularColor(c); } else if (name == "PSB") { ofColor c = point.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(pointspecslider, c, slider->getScaledValue()); point.setSpecularColor(c); } else if (name == "PSA") { ofColor c = point.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); point.setSpecularColor(c); /* point auto move */ } else if (name == "Auto Move") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; autoRotatePoint = toggle->getValue(); /* misc toggles */ } else if (name == "cull") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; cull = toggle->getValue(); } else if (name == "point") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; usePoint = toggle->getValue(); } else if (name == "spot") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; useSpot = toggle->getValue(); } else if (name == "dir") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; useDir = toggle->getValue(); /* material shininess */ } else if (name == "MAT SHINE") { ofxUISlider *slider = (ofxUISlider *)e.widget; material.setShininess(slider->getScaledValue()); /* material diffuse/ambient colour */ } else if (name == "MDR") { ofColor c = material.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(matDiffSlider, c, slider->getScaledValue()); material.setDiffuseColor(c); material.setAmbientColor(c); } else if (name == "MDG") { ofColor c = material.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(matDiffSlider, c, slider->getScaledValue()); material.setDiffuseColor(c); material.setAmbientColor(c); } else if (name == "MDB") { ofColor c = material.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(matDiffSlider, c, slider->getScaledValue()); material.setDiffuseColor(c); material.setAmbientColor(c); } else if (name == "MDA") { ofColor c = material.getDiffuseColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); material.setDiffuseColor(c); material.setAmbientColor(c); /* material emissive colour */ } else if (name == "MER") { ofColor c = material.getEmissiveColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(matEmSlider, c, slider->getScaledValue()); material.setEmissiveColor(c); } else if (name == "MEG") { ofColor c = material.getEmissiveColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(matEmSlider, c, slider->getScaledValue()); material.setEmissiveColor(c); } else if (name == "MEB") { ofColor c = material.getEmissiveColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(matEmSlider, c, slider->getScaledValue()); material.setEmissiveColor(c); } else if (name == "MEA") { ofColor c = material.getEmissiveColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); material.setEmissiveColor(c); /* material specular colour */ } else if (name == "MSR") { ofColor c = material.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(matSpecSlider, c, slider->getScaledValue()); material.setSpecularColor(c); } else if (name == "MSG") { ofColor c = material.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(matSpecSlider, c, slider->getScaledValue()); material.setSpecularColor(c); } else if (name == "MSB") { ofColor c = material.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(matSpecSlider, c, slider->getScaledValue()); material.setSpecularColor(c); } else if (name == "MSA") { ofColor c = material.getSpecularColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); material.setSpecularColor(c); /* ambient light stuff */ } else if (name == "ambient") { ofxUIToggle *toggle = (ofxUIToggle *)e.widget; useAmb = toggle->getValue(); } else if (name == "AR") { ofColor c = amb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.r = slider->getScaledValue(); setWSlider(ambslider, c, slider->getScaledValue()); amb.setAmbientColor(c); } else if (name == "AG") { ofColor c = amb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.g = slider->getScaledValue(); setWSlider(ambslider, c, slider->getScaledValue()); amb.setAmbientColor(c); } else if (name == "AB") { ofColor c = amb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.b = slider->getScaledValue(); setWSlider(ambslider, c, slider->getScaledValue()); amb.setAmbientColor(c); } else if (name == "AA") { ofColor c = amb.getAmbientColor(); ofxUISlider *slider = (ofxUISlider *)e.widget; c.a = slider->getScaledValue(); amb.setAmbientColor(c); } else if (name == "RESET") { doReset = true; } }