powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поворот системы координат объекта в Direct3d
3 сообщений из 3, страница 1 из 1
Поворот системы координат объекта в Direct3d
    #37374263
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
В OpenGL есть понятие системы координат объекта. Поворот в ней можно реализовать следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
glPushMatrix();
	glColor3d( 0 . 9 , 0 . 9 , 0 . 7 ); 
	glRotated(- 150  + mykeeper_step_coef_a* 5 , 0 , 0 , 1 ); // собственно поворот
	auxSolidCylinder( 0 . 1 , 0 . 9 );
glPopMatrix();

Мне нужно узнать, как сделать то же самое для кода в Direct3d. Например для кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CLitVertex  Points[ 5 ];
m_pD3DDevice->Clear( 0 ,  0 , D3DCLEAR_TARGET | D3DCLEAR_STENCIL,
D3DCOLOR_XRGB( 255 , 255 , 255 ),  0 .0f,  0 );
        
m_pD3DDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
m_pD3DDevice->SetRenderState( D3DRS_SRCBLEND , D3DBLEND_SRCALPHA );
m_pD3DDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );


Points[  0  ] = CLitVertex( x - size/ 2  * sin(alpha), y, z + size/ 2  * cos(alpha), D3DCOLOR_ARGB( 255 , 0 , 0 , 0 ),  0 .0f,  1 .0f );
Points[  1  ] = CLitVertex( x + size/ 2  * sin(alpha), y, z - size/ 2  * cos(alpha), D3DCOLOR_ARGB( 255 , 0 , 0 , 0 ),  1 .0f,  1 .0f );
Points[  2  ] = CLitVertex( x + size/ 2  * sin(alpha), y + size *  6 / 5 , z - size/ 2  * cos(alpha), D3DCOLOR_ARGB( 255 , 0 , 0 , 0 ),  1 .0f,  0 .0f );
Points[  3  ] = CLitVertex( x - size/ 2  * sin(alpha), y + size *  6 / 5 , z + size/ 2  * cos(alpha), D3DCOLOR_ARGB( 255 , 0 , 0 , 0 ),  0 .0f,  0 .0f );

m_pD3DDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
m_pD3DDevice->DrawPrimitiveUP( D3DPT_TRIANGLEFAN,  2 , Points, sizeof(CLitVertex));

То есть есть ли аналог функций glPushMatrix(), glPopMatrix(), glRotated(...) в Direct3d?
...
Рейтинг: 0 / 0
Поворот системы координат объекта в Direct3d
    #37374276
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поворот системы координат объекта в Direct3d
    #37374280
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MegaLasta
То есть есть ли аналог функций glPushMatrix(), glPopMatrix(), glRotated(...) в Direct3d?

нет ф-й нет, зато можно умножить на матрицу(поворота\масштабирования\трансформации).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поворот системы координат объекта в Direct3d
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]