Я работаю над проектом iOS, где я пытаюсь отобразить текстуру (карту мира) на aSpherePrimitive, но, похоже, есть проблема с рендерингом.Openframeworks iOS project: texture on of theSpherePrimitive breaks
В то время как я могу получить текстуру для отображения на сферу, кажется, есть части сферы, где текстура на переднем плане не отображается должным образом, а вместо этого оказывается «прозрачной» и отображает дальнюю сторону сфера, текстура наизнанку. Ниже двух изображений, чтобы проиллюстрировать точку.
Во-первых, здесь с красным светом, освещающим переднюю/верхнюю часть и правильно окрашивая текстуру, тогда как на нижней части сферы есть те неосвещенные фрагменты текстуры с другой стороны сферы.
Во-вторых, здесь минимальный тестовый корпус без огней, камер и т. Д., Только клетчатый рисунок. Вы можете видеть меньшие шашки с задней стороны в нижней половине сферы. Обратите внимание, что это не только в нижней части, но по мере поворота сферы также части верхней половины показывают ту же проблему.
Во втором примере, соответствующий код:
void ofApp::setup(){
r = 0;
sphere.setRadius(100);
texture.loadImage("test.png");
}
//--------------------------------------------------------------
void ofApp::update(){
r += 0.25;
}
//--------------------------------------------------------------
void ofApp::draw(){
ofPushMatrix();
ofTranslate(ofGetWidth()/2, ofGetHeight()/2);
ofRotateY(r);
texture.getTextureReference().bind();
sphere.draw();
texture.unbind();
ofPopMatrix();
}
Примечательно, что в то время как сфера вращается в «прозрачные» части вращаются со сферой.
Вы также можете проверить весь код второго примера здесь: https://github.com/kontur/openframeworks-ios-sphere-texturing-problem
Оба текстурных изображений являются степенями двойки, карта мир проецирования изображения, 1024x1024 и шаблон проверки быть 512x512 пикселей.
Я уверен, что это какая-то небольшая проблема, связанная с установкой флага, чтобы сделать сферу сплошной, но как новичок я не сделал никакого прогресса в этом, несмотря на то, что я пробовал до сих пор.
Любые идеи?