Войти
Вело-изобретателиФорумГрафика

Direct3D9 в VB6 (2 стр)

Страницы: 1 2
#15
23:05, 31 мая 2016

AWPStar
А ты скачал обновлённую версию TLB? Я не зря в п.9 просил сделать As Any функции CreateVertexShader() и CreatePixelShader().
Из файла то можно и массив As Long использовать, но, если хранить шейдеры в ресурсах, то LoadResData() возвращает байтовый массив.
У меня так работает:

Private Function CreateVertexShaderFromFile(fName As String) As IDirect3DVertexShader9
  Dim nf As Integer
  Dim ar() As Byte

  nf = FreeFile
  Open fName For Binary As #nf
    ReDim ar(LOF(nf) - 1)
    Get #nf, , ar()
  Close #nf
  Set CreateVertexShaderFromFile = Dev.CreateVertexShader(ar(0))
End Function

Private Function CreatePixelShaderFromFile(fName As String) As IDirect3DPixelShader9
  Dim nf As Integer
  Dim ar() As Byte

  nf = FreeFile
  Open fName For Binary As #nf
    ReDim ar(LOF(nf) - 1)
    Get #nf, , ar()
  Close #nf
  Set CreatePixelShaderFromFile = Dev.CreatePixelShader(ar(0))
End Function

#16
23:41, 31 мая 2016

Mikle
Точно! А я и забыл )

#17
0:54, 29 авг. 2016

Только сейчас заметил. Спасибо)

Прошло более 1 года
#18
(Правка: 9:46) 9:43, 7 мая 2018

Обновление.

Новые примеры:

Исправлены баги в функциях:

Изменения:

#19
11:14, 7 мая 2018

the trick
> D3DXVec2Length
Неужели и там был баг :)
3D редактор пишешь?

#20
11:31, 7 мая 2018

Mikle
> 3D редактор пишешь?
Нет. Просто давно обновлений не было, а тут еще человек попросил сделать подобный пример работы с камерой и сценой. Сейчас я работаю над Direct2D библиотекой.

Страницы: 1 2
Вело-изобретателиФорумГрафика