void SceneLabel::updateFromLabel() { MaterialManager *materialManager = CoreServices::getInstance()->getMaterialManager(); if(texture) materialManager->deleteTexture(texture); texture = materialManager->createTextureFromImage(label, materialManager->clampDefault, materialManager->mipmapsDefault); if(material) { localShaderOptions->clearTexture("diffuse"); localShaderOptions->addTexture("diffuse", texture); } delete mesh; mesh = new Mesh(Mesh::QUAD_MESH); mesh->createVPlane(label->getWidth()*scale,label->getHeight()*scale); bBox.x = label->getWidth()*scale; bBox.y = label->getHeight()*scale; bBox.z = 0; if(useVertexBuffer) CoreServices::getInstance()->getRenderer()->createVertexBufferForMesh(mesh); // TODO: resize it here bBoxRadius = label->getWidth()*scale; }
void SceneMesh::loadTextureFromImage(Image *image) { MaterialManager *materialManager = CoreServices::getInstance()->getMaterialManager(); texture = materialManager->createTextureFromImage(image, materialManager->clampDefault, materialManager->mipmapsDefault); }