ad141 | Дата: Пятница, 22 Февраля 2013, 20:13 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Я вот не знаю как сделать так чтобы мышь на экране был как луч выходящий из камеры в 3Д пространстве.
У меня получается сделать так что бы луч выходил из камеры только тогда, когда мышь ровно по центру окна.
Дано: Point3f CamPos; // Позиция камеры (x, y, z) Point2f CamR; // Ориентация камеры (x, y) Point2f Mouse; // Позиция мыши (x, y) y=x=(-1; 1) float YЧ; // Соотношение окна (Высота/Ширина)
Надо получить позицию точки на некотором расстояние от камеры, которая задана позицией мыши.
Это вход в перспективу:
float x = Cam::fov/90.0f*Cam::Start; float y = x*YX; glFrustum(-x,x,-y,y,Cam::Start,Cam::Finish);
Перед отрисовкой:
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //GL_ACCUM_BUFFER_BIT glLoadIdentity(); glRotatef(-CamR.y,1.0f,0.0f,0.0f); glRotatef(CamR.x,0.0f,1.0f,0.0f); glTranslatef(-CamPos.x, -CamPos.y, -CamPos.z);
Надо как то получить эту точку:
glVertex3f( CamPos.x+sin((Магия X) * GRAD)*cos(Магия Y * GRAD), CamPos.y+(sin(Магия Y * GRAD)), CamPos.z-cos((Магия X) * GRAD)*cos(Магия Y * GRAD) );
Баблосы здесь... Зарегестрируйся и начни получать деньги... Платят мало, но стабильно, а самое главное платят! а не обещают...
|
|
| |