Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

создание вершинного шейдера   Найти похожие ветки 

 
Garrett   (2003-02-23 00:24) [0]

Замучался я с ними. Need help :-)
Мне даже не создать вершинный шейдер. Непонятно, какие параметры передавать и почему неправильно то, что я пишу в CreateVertexShader.

вот код:

function LoadVertexShader(ShaderFile: AnsiString): HRESULT;
var MS: TMemoryStream;
VProg: Array[0..127] of LongWord;
VProgAddr: LongWord;
dwDecl: array [0..2] of DWORD;
dwDcl: LongWord;
begin
dwDecl[0] := D3DVSD_STREAM(0);
dwDecl[1] := D3DVSD_REG(0, D3DVSDT_FLOAT3);
dwDecl[2] := D3DVSD_END;

dwDcl := LongWord (@dwDecl[0]);
VProgAddr := LongWord (@VProg[0]);

MS := TMemoryStream.Create;
try
MS.LoadFromFile(ShaderFile);
MS.Read(VProg[0], MS.Size);
Result := d3ddev.CreateVertexShader(dwDecl[0], @VProgAddr, HShader, 0);
finally
MS.Free;
end;
end;


Сперва были проблемы с загрузкой программы. Возникал эксепшн. Только передавая программу таким образом получил Invalid Parameters в HRESULT. Теперь тупик. Пример с http://www.direct3d.net не помог.


 
Garrett   (2003-02-23 02:27) [1]

Так, на шаг вперёд продвинулся. Загрузка произошла успешно сменой параметров dwDecl[0] на @dwDecl[0] и @VProgAddr на @VProg[0]. Но что-то ничего не работает... странно.
У меня есть 4 вершины и 2 треугольника. Если не использовать шейдер, то всё рисуется нормально.. но если перевесить работу на шейдер, сразу нифига не рисуется. или рисуется, но не то

сам шейдер такой:

vs.1.0
m4x4 oPos, v0, c0
mov oD0, c8




Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.022 c
7-13489
Stas
2003-04-03 11:41
2003.06.05
Копирование файлов


1-13178
super_alex
2003-05-26 13:09
2003.06.05
Мигает bitmap!!! Что делать?


14-13382
EvgeniyR
2003-05-21 10:56
2003.06.05
Помогите с TDBGridEh !!!


14-13388
Separator
2003-05-16 20:57
2003.06.05
Встроенный asm


1-13233
zeppelin
2003-05-27 13:18
2003.06.05
TreeView