1
OpenGL 개체를 만지거나 이벤트를 만지는 설명을 찾고 있습니다. GLKit 또는 OpenGL ES에 사용할 함수가 있습니까? 아니면 내 개체의 위치를 계산해야하며 그것을 조정 내 ob과 비교해야합니까?GLKIT 또는 OpenGL의 모든 객체에 터치 객체가 있습니까?
OpenGL 개체를 만지거나 이벤트를 만지는 설명을 찾고 있습니다. GLKit 또는 OpenGL ES에 사용할 함수가 있습니까? 아니면 내 개체의 위치를 계산해야하며 그것을 조정 내 ob과 비교해야합니까?GLKIT 또는 OpenGL의 모든 객체에 터치 객체가 있습니까?
:
GLKVector3 gluProject(GLKVector3 position,
GLKMatrix4 projMatrix,
GLKMatrix4 modelMatrix,
CGRect viewport
)
{
GLKVector4 in;
GLKVector4 out;
in = GLKVector4Make(position.x, position.y, position.z, 1.0);
out = GLKMatrix4MultiplyVector4(modelMatrix, in);
in = GLKMatrix4MultiplyVector4(projMatrix, out);
if (in.w == 0.0) NSLog(@"W = 0 in project function\n");
in.x /= in.w;
in.y /= in.w;
in.z /= in.w;
/* Map x, y and z to range 0-1 */
in.x = in.x * 0.5 + 0.5;
in.y = in.y * 0.5 + 0.5;
in.z = in.z * 0.5 + 0.5;
/* Map x,y to viewport */
in.x = in.x * (viewport.size.width) + viewport.origin.x;
in.y = in.y * (viewport.size.height) + viewport.origin.y;
return GLKVector3Make(in.x, in.y, in.z);
}
- (GLKVector2) getScreenCoordOfPoint {
GLKVector3 out = gluProject(self.point, modelMatrix, projMatrix, view.frame);
GLKVector2 point = GLKVector2Make(out.x, view.frame.size.height - out.y);
return point;
}
대단히 감사합니다. – J0k3R