//-------------------------------------------
ofMaterial ofxAssimpModelLoader::getMaterialForMesh(int num){
	if((int)modelMeshes.size()<=num){
		ofLog(OF_LOG_ERROR,"couldn't find mesh " + ofToString(num) + " there's only " + ofToString(scene->mNumMeshes));
		return ofMaterial();
	}
	return modelMeshes[num].material;
}
//-------------------------------------------
ofMaterial ofxAssimpModelLoader::getMaterialForMesh(int num){
	if((int)modelMeshes.size()<=num){
		ofLogError("ofxAssimpModelLoader") << "getMaterialForMesh(): mesh id: " << num
			<< "out of range for total num meshes: " << scene->mNumMeshes;
		return ofMaterial();
	}
	return modelMeshes[num].material;
}
//-------------------------------------------
ofMaterial ofxAssimpModelLoader::getMaterialForMesh(string name){
	for(int i=0; i<(int)modelMeshes.size(); i++){
		if(string(modelMeshes[i].mesh->mName.data)==name){
			return modelMeshes[i].material;
		}
	}
	ofLogError("ofxAssimpModelLoader") << "getMaterialForMesh(): couldn't find mesh: \"" + name << "\"";
	return ofMaterial();
}
//-------------------------------------------
ofMaterial ofxAssimpModelLoader::getMaterialForMesh(string name){
	for(int i=0; i<(int)modelMeshes.size(); i++){
		if(string(modelMeshes[i].mesh->mName.data)==name){
			return modelMeshes[i].material;
		}
	}
	ofLog(OF_LOG_ERROR,"couldn't find mesh " + name);
	return ofMaterial();
}
Example #5
0
//--------------------------------------------------------------
void ofApp::setup(){
    hideGui = false;
    
    pointLight = ofLight();
    material = ofMaterial();
    
    gui.setup();
    gui.add(radius.setup("radius", 100, 10, 300));
    gui.add(sphereResolution.setup("resolution", 5, 3, 90));
    gui.add(sphereCenter.setup("center",ofVec3f(ofGetWidth()/2, ofGetHeight()/2, 0),
                                        ofVec3f(-ofGetWidth(), -ofGetHeight(), -100),
                                        ofVec3f(ofGetWidth(), ofGetHeight(), 100)));

    
    gui.add(lightPosition.setup("light position", ofVec3f(ofGetWidth()/2 + 100, ofGetWidth()/2 + 100, 500),
                                                ofVec3f(-ofGetWidth(), -ofGetHeight(), -500),
                                                ofVec3f(ofGetWidth(), ofGetHeight(), 500)));
    gui.add(diffuseLightColor.setup("diffuse light color", ofColor(100, 0),
                                                    ofColor(0),
                                                    ofColor(255)));
    gui.add(specularLightColor.setup("specular light color", ofColor(100),
                                    ofColor(0),
                                    ofColor(255)));
    
    gui.add(ambientLightColor.setup("ambient light color", ofColor(50, 50, 50),
                                     ofColor(0),
                                     ofColor(255)));
    
    gui.add(applyMaterial.setup("apply material", true));

    gui.add(diffuseMaterialColor.setup("diffuse material color", ofColor(100),
                                       ofColor(0),
                                       ofColor(255)));
    gui.add(specularMaterialColor.setup("specular material color", ofColor(255),
                                       ofColor(0),
                                       ofColor(255)));
    gui.add(ambientMaterialColor.setup("ambient material color", ofColor(255),
                                        ofColor(0),
                                        ofColor(255)));
    //confirmed that this must be > 0 and <= 128
    gui.add(shininess.setup("shininess", 50.0, 0.1, 128.0));
    
    //this is part of the default constructor;
    pointLight.setPointLight();
}