Я загрузил объект в мою программу Ogre. Затем перечислите Элементы в vertexDeclaration, как показано ниже.VertexDeclaration не включен OGRE :: VES_DEFFUSE
Ogre::VertexDeclaration::VertexElementList lst = vertex_data->vertexDeclaration->getElements();
В списке я видел только VES_POSITION и VES_NORMAL. Поэтому, когда я запускаю код ниже,
const Ogre::VertexElement* posElem = vertex_data->vertexDeclaration->findElementBySemantic(Ogre::VES_DIFFUSE);
posElem ничего не содержит или ничего. Как получить доступ к этому элементу, который не существует? возможно ли это? Тогда я добавил материал, как показано ниже, к моей сущности. Эта модель времени успешно загружена материальным и диффузным свойством. но проблема сохраняется. Это означает, что VertexDeclaration не содержит элемент с семантикой VES_DEFFUSE (только VES_POSITION и VES_NORMAL). Также я загрузил некоторые другие модели, но ни один из них не имел такого элемента с семантикой VES_DEFFUSE.
material base_mesh
{
technique
{
pass
{
lighting on
ambient 0.3 0.3 0.3 1
diffuse 0.1 0.7 0.2 1
emissive 0 0 0 1
}
}
}
Если сетка не имеет определенного атрибута - зачем она присутствовала во время выполнения? Каковы ваши данные сетки и конкретные проблемы, которые у вас есть? – keltar