Example #1
0
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;
}
Example #2
0
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));
}
Example #3
0
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));
    
    
    
}
Example #4
0
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");
	}


}
Example #5
0
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;
    }
}