PDA

Просмотр полной версии : D3D9 Sprite


Akazuki
11.01.2021, 00:21
Здравствуйте, после рисования спрайта пропадают ники игроков и 3D Label. Они смещаются в верхний левый угол.

Код рисования спрайта

C++:






sprite
->
Begin
(
D3DXSPRITE_ALPHABLEND
)
;
sprite
->
Draw
(
spriteTexture
,
NULL
,
NULL
,
NULL
,
0xFFFFFFFF
)
;
sprite
->
End
(
)
;




https://forum.antichat.xyz/attachments/27645717/

SR_team
11.01.2021, 01:01
Весь код показывай. В этом кусочке нет ошибок

Akazuki
11.01.2021, 01:26
Перед этим создается текстура и спрайт

C++:






GetD3DDevice
(
)
->
CreateTexture
(
plugin
::
screen
::
GetScreenWidth
(
)
,
plugin
::
screen
::
GetScreenHeight
(
)
,
1
,
D3DUSAGE_DYNAMIC
,
D3DFMT_A8R8G8B8
,
D3DPOOL_DEFAULT
,
&
spriteTexture
,
0
)
;
D3DXCreateSprite
(
GetD3DDevice
(
)
,
&
sprite
)
;

kin4stat
11.01.2021, 02:00
Ломается рендер сампа (https://www.blast.hk/threads/69282/)

Ну тут расписывать много не надо. Как только начинаешь выводить на экран текст - преобразования Мировых координат в экранные будто резко перестают работать. А происходит вот такая дичь(смотреть в левый верхний угол. На белую полосу не обращайте внимания, приколы оконного режима):

www.blast.hk


Вот тут это обсуждалось.

стоит вообще все сохранить чтобы наверняка:

C++:






D3DMATRIX last_world
,
last_view
,
last_projection
;
g_pd3dDevice
->
GetTransform
(
D3DTS_WORLD
,
&
last_world
)
;
g_pd3dDevice
->
GetTransform
(
D3DTS_VIEW
,
&
last_view
)
;
g_pd3dDevice
->
GetTransform
(
D3DTS_PROJECTION
,
&
last_projection
)
;
// RENDER
g_pd3dDevice
->
SetTransform
(
D3DTS_WORLD
,
&
last_world
)
;
g_pd3dDevice
->
SetTransform
(
D3DTS_VIEW
,
&
last_view
)
;
g_pd3dDevice
->
SetTransform
(
D3DTS_PROJECTION
,
&
last_projection
)
;