Помогите мне пожалуйста с лучевым собираниемOpenGL ES 2.0 Ray Сбор, далека точка
float aspect = fabsf(self.view.bounds.size.width/self.view.bounds.size.height);
GLKMatrix4 projectionMatrix = GLKMatrix4MakePerspective(GLKMathDegreesToRadians(35.0f), aspect, 0.1f, 1000.0f);
GLKMatrix4 modelViewMatrix = _mainmodelViewMatrix;
// some transformations
_mainmodelViewMatrix = modelViewMatrix;
_modelViewProjectionMatrix = GLKMatrix4Multiply(projectionMatrix, modelViewMatrix);
_normalMatrix = GLKMatrix3InvertAndTranspose(GLKMatrix4GetMatrix3(modelViewMatrix), NULL);
_modelViewProjectionMatrix и _normalMatrix поставила шейдер
glUniformMatrix4fv(uniforms[UNIFORM_MODELVIEWPROJECTION_MATRIX], 1, 0, _modelViewProjectionMatrix.m);
glUniformMatrix3fv(uniforms[UNIFORM_NORMAL_MATRIX], 1, 0, _normalMatrix.m);
и в контакте конца
GLKVector4 normalisedVector = GLKVector4Make((2 * position.x/self.view.bounds.size.width - 1),
(2 * (self.view.bounds.size.height-position.y)/self.view.bounds.size.height - 1) , //1 - 2 * position.y/self.view.bounds.size.height,
-1,
1);
GLKMatrix4 inversedMatrix = GLKMatrix4Invert(_modelViewProjectionMatrix, nil);
GLKVector4 near_point = GLKMatrix4MultiplyVector4(inversedMatrix, normalisedVector);
Как может зайти далеко? И моя ближайшая точка верна или нет?
Спасибо!
Я не уверен, это правда – SAKrisT
вы правы!но нужны еще одна операция с результатами! – SAKrisT