//------------------------------------------- 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(); }
//-------------------------------------------------------------- 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(); }