Показать сообщение отдельно

  #3  
Старый 19.08.2022, 16:21
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Цитата:
Сообщение от SR_team  

Код шейдера где?
C++:





Код:
float4 value
;
float4
main
(
)
:
COLOR
{
return
value
;
}


но я его скомпилировал и в байты перевел, было вот так, но тоже не работало(на amd, на nvidia работало, видеокарта у него radeon hd 5750):

C++:





Код:
HRESULT
generateShader
(
IDirect3DPixelShader9
*
*
pShader
)
{
char
szShader
[
512
]
;
ID3DXBuffer
*
pShaderBuffer
=
nullptr
;
strcpy
(
szShader
,
"float4 value; float4 main() : COLOR { return value; }"
)
;
if
(
FAILED
(
D3DXCompileShader
(
szShader
,
strlen
(
szShader
)
,
0
,
0
,
"main"
,
D3DXGetPixelShaderProfile
(
DEVICE
)
,
D3DXSHADER_SKIPVALIDATION
,
&
pShaderBuffer
,
0
,
0
)
)
)
return
E_FAIL
;
if
(
FAILED
(
DEVICE
->
CreatePixelShader
(
(
const
DWORD
*
)
pShaderBuffer
->
GetBufferPointer
(
)
,
pShader
)
)
)
return
E_FAIL
;
return
S_OK
;
}






протестил ещё у одного друга на amd у него amd rx560, тоже не работает
 
Ответить с цитированием