0
Итак, я пытаюсь перенести мой код openGLES 1.0 в OpenGLES 2.0 (GLKit). Основная концепция - вы можете ходить в трехмерном пространстве.iOS: OpenGL 2.0 ES перемещается вокруг объекта
То, что я борюсь с движется вокруг объекта на основе моей позиции камеры (получил контроль проволокой вверх и т.д.)
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
self.baseEffect.transform.modelviewMatrix = GLKMatrix4MakeLookAt(eye[0], eye[1], eye[2],center[0], center[1], center[2], 0.0, 1, 0.0);
[self.baseEffect prepareToDraw];
self.cube.effect.transform.modelviewMatrix = self.baseEffect.transform.modelviewMatrix;
self.cube.effect.transform.projectionMatrix = self.baseEffect.transform.projectionMatrix;
// Used to scale stuff based on screen res
static float roation = 0;
self.cube.rotation = GLKVector3Make(0, roation, 0);
[self.cube drawWithRotationWithRenderMode:RenderTexture];
[self handleTouches];
}
бит я застрял с это рендер куба на основе камеры (I считаю, мне нужно что-то вроде setIdentyM
- (void)drawWithRotationWithRenderMode:(RenderMode)renderMode
{
[EAGLContext setCurrentContext:APP_DELEGATE.context];
float alpha = 1;
float doNotRender = NO;
GLKMatrix4 current = GLKMatrix4Identity;
current = GLKMatrix4Translate(current, position.x, position.y, position.z);
current = GLKMatrix4Scale(current, scale.x, scale.y, scale.z);
self.effect.transform.modelviewMatrix = current;
Так что я думаю, что моя камера работает, я просто нужно знать, как Полагаю, что объект стоит на X, y, z. Насколько похожи вызовы Android OpenGL? – Burf2000