Здравствуйте, Аноним, Вы писали:
А>Нельзя ли это осуществить, не выставляя соответствующим образом матрицы, а указать 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);
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
> SetMatrixMode( PROJECTION );
> SetMatrixMode( MODELVIEW );
Сорри, выдрал код и не помотрел... Имелось в виду:
glMatrixMode( GL_PROJECTION );
glMatrixMode( GL_MODELVIEW );
Posted via RSDN NNTP Server 1.8 beta