Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: CL | DM;

Вниз

Как перевести координаты окна в координаты OpenGL?   Найти похожие ветки 

 
PaRL ©   (2002-12-06 20:51) [0]

Есть ли универсальная формула?
Желательно для gluPerspuctive, но glFrustum тоже подойдет.


 
Ketmar ©   (2002-12-07 16:25) [1]

а что есть "координаты OpenGL"???

Satanas Nobiscum! 07-Dec-XXXVII A.S.


 
PaRL ©   (2002-12-08 13:40) [2]

ну как... в центре окна, то есть (ClientWidth/2, CientHeight/2) координата 0, то есть glVertex2f(0, 0) выводит на экран точку в центре окна.
Вопрос как перевести (X, Y) при движении мыши в координаты GL... ?

А это зависит от перспективы и матрицы, которые задаются командами glFrustum и glPerspuctive, вот я и спросил...


 
Ketmar ©   (2002-12-08 17:11) [3]

положим вовсе и не всегда в центре. как напишете. а вы, видимо, хотите услышать волшебное слово gluUnproject? я угадал?

Satanas Nobiscum! 08-Dec-XXXVII A.S.


 
PaRL ©   (2002-12-08 20:22) [4]

Точно. Угадал :)
Спасибо.


 
Ketmar ©   (2002-12-09 10:57) [5]

>PaRL © (08.12.02 20:22)
без проблем. заходите еще. только спрашивайте точнее в следующий раз %-)

Satanas Nobiscum! 09-Dec-XXXVII A.S.


 
klovetski   (2002-12-11 00:06) [6]

Вот Вам кусочек из работающей программки

procedure TfrmCollision.pnlCollisionMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Viewport : Array [0..3] of GLInt;
mvMatrix, ProjMatrix : Array [0..15] of GLDouble;
RealY : GLint ; // позиция OpenGL y - координаты
wx, wy, wz : GLdouble ; // возвращаемые мировые x, y, z координаты
Zval : GLfloat;
xVelocity,
yVelocity : real;


begin
glGetIntegerv (GL_VIEWPORT, @Viewport);
glGetDoublev (GL_MODELVIEW_MATRIX, @mvMatrix);
glGetDoublev (GL_PROJECTION_MATRIX, @ProjMatrix);
// viewport[3] - высота окна в пикселях
RealY := viewport[3] - Y - 1;
glReadPixels(X, RealY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, @Zval);

gluUnProject (X, RealY, Zval, @mvMatrix, @ProjMatrix, @Viewport, wx, wy, wz);

end;



Страницы: 1 вся ветка

Текущий архив: 2003.05.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-59689
volodya_
2003-05-07 15:52
2003.05.19
Размеры и расположение компонент


3-59590
valmont
2003-04-28 07:05
2003.05.19
Перемещение по таблице


14-59905
Карлсон
2003-04-29 20:41
2003.05.19
как исправить?


3-59615
Dimaz-z
2003-04-28 20:36
2003.05.19
DBGrid & Scroll


3-59637
opoloXAI
2003-04-29 10:24
2003.05.19
Сортировка SQL-запроса по дню года.