|
Новичок
Регистрация: 12.02.2016
Сообщений: 24
С нами:
5394404
Репутация:
8
|
|
Сообщение от MISTER_GONWIK
а почему ты рендерстейты, которые изменил, обратно не восстанавливаешь
Восстановил обратно всё что изменил, ни### не изменилось, ни### не рисуется на экране
C++:
Код:
vertex pVertex
[
2
]
=
{
{
100
,
100
,
0.0f
,
1.0f
,
0xffff0000
}
,
{
100
,
200
,
0.0f
,
1.0f
,
0xffff0000
}
}
;
DWORD oRenderState
[
9
]
;
pDevice
->
GetRenderState
(
D3DRS_LIGHTING
,
&
oRenderState
[
0
]
)
;
pDevice
->
GetRenderState
(
D3DRS_ZENABLE
,
&
oRenderState
[
1
]
)
;
pDevice
->
GetRenderState
(
D3DRS_FOGENABLE
,
&
oRenderState
[
2
]
)
;
pDevice
->
GetRenderState
(
D3DRS_CULLMODE
,
&
oRenderState
[
3
]
)
;
pDevice
->
GetRenderState
(
D3DRS_ALPHABLENDENABLE
,
&
oRenderState
[
4
]
)
;
pDevice
->
GetRenderState
(
D3DRS_SRCBLEND
,
&
oRenderState
[
5
]
)
;
pDevice
->
GetRenderState
(
D3DRS_DESTBLEND
,
&
oRenderState
[
6
]
)
;
pDevice
->
GetRenderState
(
D3DRS_LIGHTING
,
&
oRenderState
[
7
]
)
;
pDevice
->
GetRenderState
(
D3DRS_STENCILENABLE
,
&
oRenderState
[
8
]
)
;
IDirect3DBaseTexture9
*
oTexture
;
pDevice
->
GetTexture
(
0
,
&
oTexture
)
;
IDirect3DPixelShader9
*
oPixelShader
;
pDevice
->
GetPixelShader
(
&
oPixelShader
)
;
DWORD oFVF
;
pDevice
->
GetFVF
(
&
oFVF
)
;
pDevice
->
SetRenderState
(
D3DRS_LIGHTING
,
FALSE
)
;
pDevice
->
SetRenderState
(
D3DRS_ZENABLE
,
D3DZB_FALSE
)
;
pDevice
->
SetRenderState
(
D3DRS_FOGENABLE
,
FALSE
)
;
pDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
D3DCULL_NONE
)
;
pDevice
->
SetRenderState
(
D3DRS_ALPHABLENDENABLE
,
TRUE
)
;
pDevice
->
SetRenderState
(
D3DRS_SRCBLEND
,
D3DBLEND_SRCALPHA
)
;
pDevice
->
SetRenderState
(
D3DRS_DESTBLEND
,
D3DBLEND_INVSRCALPHA
)
;
pDevice
->
SetRenderState
(
D3DRS_LIGHTING
,
FALSE
)
;
pDevice
->
SetRenderState
(
D3DRS_STENCILENABLE
,
FALSE
)
;
pDevice
->
SetTexture
(
0
,
NULL
)
;
pDevice
->
SetPixelShader
(
NULL
)
;
pDevice
->
SetFVF
(
D3DFVF_XYZRHW
|
D3DFVF_DIFFUSE
|
D3DFVF_TEX1
)
;
pDevice
->
DrawPrimitiveUP
(
D3DPT_LINELIST
,
1
,
&
pVertex
,
sizeof
(
vertex
)
)
;
pDevice
->
SetRenderState
(
D3DRS_LIGHTING
,
oRenderState
[
0
]
)
;
pDevice
->
SetRenderState
(
D3DRS_ZENABLE
,
oRenderState
[
1
]
)
;
pDevice
->
SetRenderState
(
D3DRS_FOGENABLE
,
oRenderState
[
2
]
)
;
pDevice
->
SetRenderState
(
D3DRS_CULLMODE
,
oRenderState
[
3
]
)
;
pDevice
->
SetRenderState
(
D3DRS_ALPHABLENDENABLE
,
oRenderState
[
4
]
)
;
pDevice
->
SetRenderState
(
D3DRS_SRCBLEND
,
oRenderState
[
5
]
)
;
pDevice
->
SetRenderState
(
D3DRS_DESTBLEND
,
oRenderState
[
6
]
)
;
pDevice
->
SetRenderState
(
D3DRS_LIGHTING
,
oRenderState
[
7
]
)
;
pDevice
->
SetRenderState
(
D3DRS_STENCILENABLE
,
oRenderState
[
8
]
)
;
pDevice
->
SetTexture
(
0
,
oTexture
)
;
pDevice
->
SetPixelShader
(
oPixelShader
)
;
pDevice
->
SetFVF
(
oFVF
)
;
Заметил ещё что если рисовать линии через CreateLine все 3д надписи в игре пропадают, скорее всего тут уже я что-то делаю не так и возможно чего-то не восстанавливаю.
Пытался поискать в гугле как правильно работать с d3d9 но ничего нормального не нашёл.
Буду благодарен если подскажете как всё это дело делать правильно
|