|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
снова здрасте, теперь мне нужна помощь с созданием шейдера, я не хочу создавать дохуя шейдеров, можно же просто выставлять ему цвет
тоесть мне не подходит вот это, что всё используют
Сообщение от Спойлер
C++:
Код:
static
HRESULT
generateShader
(
IDirect3DPixelShader9
*
*
pShader
,
float
alpha
,
float
red
,
float
green
,
float
blue
)
{
char
szShader
[
256
]
;
ID3DXBuffer
*
pShaderBuffer
=
nullptr
;
sprintf_s
(
szShader
,
sizeof
(
szShader
)
,
"ps.1.1\ndef c0, %f, %f, %f, %f\nmov r0,c0"
,
red
,
green
,
blue
,
alpha
)
;
if
(
FAILED
(
D3DXAssembleShader
(
szShader
,
sizeof
(
szShader
)
,
NULL
,
NULL
,
0
,
&
pShaderBuffer
,
NULL
)
)
)
return
E_FAIL
;
if
(
FAILED
(
DEVICE
->
CreatePixelShader
(
(
const
DWORD
*
)
pShaderBuffer
->
GetBufferPointer
(
)
,
pShader
)
)
)
return
E_FAIL
;
return
S_OK
;
}
я пытался сделать, но шейдер не компилируеться, типа вроде правильно всё, хз, уроки посмотрел, гайды почитал, чертовщина
Сообщение от Спойлер
C++:
Код:
static
HRESULT
generateShader
(
IDirect3DPixelShader9
*
*
pShader
)
{
char
szShader
[
UINT16_MAX
]
;
ID3DXBuffer
*
pShaderBuffer
=
nullptr
;
LPD3DXCONSTANTTABLE table
;
strcpy
(
szShader
,
"float4 value; float4 main() : COLOR { return value; }"
)
;
if
(
FAILED
(
D3DXCompileShader
(
szShader
,
sizeof
(
szShader
)
,
0
,
0
,
"main"
,
"ps_3_0"
,
0
,
&
pShaderBuffer
,
0
,
&
table
)
)
)
{
std
::
cout
CreatePixelShader
(
(
const
DWORD
*
)
pShaderBuffer
->
GetBufferPointer
(
)
,
pShader
)
)
)
return
E_FAIL
;
return
S_OK
;
}
Ебать ахуеть блять заебало уже, ***ню какую-то изменил, заработало
смотрите, кому надо
C++:
Код:
static
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_DEBUG
,
&
pShaderBuffer
,
0
,
0
)
)
)
return
E_FAIL
;
if
(
FAILED
(
DEVICE
->
CreatePixelShader
(
(
const
DWORD
*
)
pShaderBuffer
->
GetBufferPointer
(
)
,
pShader
)
)
)
return
E_FAIL
;
return
S_OK
;
}
Кто бы мог подумать блять, на видеокарте AMD не работает на***! только nvidia
|