OpenGL и скриновые координаты
От: Аноним  
Дата: 13.01.04 11:37
Оценка:
Здравствуйте!

Передо мной поставили задачу, перевести проект использующий DirectX9 на OpenGL

Будучи немного знакомым с последним, я принялся за работу. Но наткнулся на проблему, которую сходу обойти не смог.

Проблема следующая: нужно отрисовать 2D графику в координатах Windows окна используя видео буфер.

Нельзя ли это осуществить, не выставляя соответствующим образом матрицы, а указать GL, что это скриновые координаты (как это делается в DirectX с помощью D3DFVF_XYZRHW) ?

Заранее спасибо
Re: OpenGL и скриновые координаты
От: unprogrammer Россия  
Дата: 13.01.04 13:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Нельзя ли это осуществить, не выставляя соответствующим образом матрицы, а указать GL, что это скриновые координаты (как это делается в DirectX с помощью D3DFVF_XYZRHW) ?


Нет, нельзя.

Можно вот так, при помощи glu:

glViewport(0, 0, (GLsizei) width, (GLsizei) height); 
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,(GLdouble)width,0.0,(GLdouble)height);
Re: OpenGL и скриновые координаты
От: Lunich Россия  
Дата: 14.01.04 10:40
Оценка:
wrote:
>
> Здравствуйте!
>
> Передо мной поставили задачу, перевести проект использующий DirectX9 на
> OpenGL
>
> Будучи немного знакомым с последним, я принялся за работу. Но наткнулся
> на проблему, которую сходу обойти не смог.
>
> Проблема следующая: нужно отрисовать 2D графику в координатах Windows
> окна используя видео буфер.
>
> Нельзя ли это осуществить, не выставляя соответствующим образом матрицы,
> а указать GL, что это скриновые координаты (как это делается в DirectX с
> помощью D3DFVF_XYZRHW) ?
>
> Заранее спасибо
>

SetMatrixMode( PROJECTION );
glLoadIdentity();
glOrtho( 0, WindowRect.right, 0, WindowRect.bottom, -1, 1 );
SetMatrixMode( MODELVIEW );
glLoadIdentity();
//и тут рисуем

Только требуется помнить, что оконные координаты в OpenGL считаются от
нижнего левого угла окна.
Posted via RSDN NNTP Server 1.8 beta
Re[2]: OpenGL и скриновые координаты
От: Lunich Россия  
Дата: 14.01.04 10:51
Оценка:
> SetMatrixMode( PROJECTION );
> SetMatrixMode( MODELVIEW );

Сорри, выдрал код и не помотрел... Имелось в виду:

glMatrixMode( GL_PROJECTION );
glMatrixMode( GL_MODELVIEW );
Posted via RSDN NNTP Server 1.8 beta
Re: OpenGL и скриновые координаты
От: Аноним  
Дата: 15.01.04 17:16
Оценка:
Здравствуйте, Аноним, Вы писали:

Спасибо за помощь.
Как делать через матрицы это понятно, я думал что есть соответствующий режим.
Буду делать через матрицы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.