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

Вниз

вопрос по openlG   Найти похожие ветки 

 
nuflin   (2006-12-22 17:14) [0]

как найти проекцию точки на экран
например есть точка
 glBegin(GL_POINTS);
       glvertex(0,0,0);
   glEnd();
как найти её координаты на экране


 
ors_archangel ©   (2006-12-22 20:07) [1]

Из OpenGL-движка моего друга, который называется 3gon-engine:

procedure GetMatrices;
begin
 glGetDoublev(GL_MODELVIEW_MATRIX,@mv);
 glGetDoublev(GL_PROJECTION_MATRIX,@pm);
 glGetIntegerv(GL_VIEWPORT,@vp);
end;
gluProject(v.x,v.y,v.z,@mv,@pm,@vp,x,y,z);

Но учти, что gluProject написан очень плохо, я как-то написал функцию, которая делала аналогичную работу, но работала на 400% быстрее, приводить не буду, потому что её использование зависит от того, как ты устанавливаешь камеру и т.д., а gluProject более универсален


 
nuflin   (2006-12-22 22:45) [2]

пишу
glGetDoublev(GL_MODELVIEW_MATRIX,@mv);
glGetDoublev(GL_PROJECTION_MATRIX,@pm);
glGetIntegerv(GL_VIEWPORT,@vp);

 gluProject(x1,y1,z1,@mv,@pm,@vp,x2,y2,z2);

но x2,y2,z2 всегда одинаковые


 
ors_archangel ©   (2006-12-22 22:52) [3]

А декларации такие:
 
mv,pm:array[0..15] of Double;
vp:array[0..15] of Integer;

есть?



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-1184613088
Lavrenty
2007-07-16 23:11
2007.09.30
Событие на обновление файла


15-1188552281
Рамиль
2007-08-31 13:24
2007.09.30
Связка Windows 2003 64 bit + Oracle 10g 64 bit + Visual Studio


4-1175334004
Galiaf
2007-03-31 13:40
2007.09.30
Смена обоины на API


2-1189071272
малой
2007-09-06 13:34
2007.09.30
FloatToInteger


2-1188805897
Андрей Пл
2007-09-03 11:51
2007.09.30
Как узнать в консольном приложении имя машины