Войти
Вело-изобретателиФорумdx_vb - порт DirectX9 для VB6

О проекте dx_vb. (2 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 3 48 Следующая »
#15
14:31, 30 мая 2011

Mikle
Ну как там константы?

Делал проверку альфы у спрайтов и обнаружил что метод:

texture.GetSurfaceLevel(0).GetData VarPtr(rect), 4, ByVal VarPtr(data)

жрет много времени...FPS падает от 800 до 85 при проверке в каждом цикле...
Походу это из за надстройки в Surface.GetData... Может сделать еще функцию GetPixel(x as long,y as long) as boolean в которой не будет надстройки?

#16
17:16, 2 июня 2011

up

#17
9:10, 3 июня 2011

max255
У меня опять завал работы, чуть подожди.
О какий текстурных константах речь? MaxWidth и MaxHeight есть.

#18
12:10, 3 июня 2011

Mikle
> У меня опять завал работы, чуть подожди.
Понял...

> О какий текстурных константах речь? MaxWidth и MaxHeight есть.
Поддержка текстур с размерами не степень двойки.

#19
23:35, 9 июня 2011

Mikle
Проверь константы для TestCooperativeLevel в типе HRESULT, мне кажется что там не те константы...

#20
14:08, 10 июня 2011

max255
Освобожусь 13-го июня, всё сделаю.

#21
11:56, 26 июня 2011

Сделал полноценный загрузчик текстур, как CreateTextureFromFile, так и CreateTextureFromFileEx.
Кое-что ещё обновил.
Константы для TestCooperativeLevel в типе HRESULT проверил, правильные.

#22
18:42, 26 июня 2011

Mikle
> Сделал полноценный загрузчик текстур, как CreateTextureFromFile, так и
> CreateTextureFromFileEx
Весч... Потестирую...

Посмотри еще 15 пост вторую часть... Такое реально сделать?

#23
19:40, 26 июня 2011

GetPixel сделать можно, попробую.

Вот пример корректного сворачивания-разворачивания D3D приложения в оконном и полноэкранном режимах:
FullScreen

#24
20:32, 26 июня 2011

Mikle
> GetPixel сделать можно, попробую.
Буду ждать обновления :)

Mikle
> Вот пример корректного сворачивания-разворачивания D3D приложения в оконном и
> полноэкранном режимах
Поковыряю как обновлю классы dx_vb в двиге...

Уже столкнулся с тем что не могу узнать исходный размер текстуры...  Ща переделаю загрузку...

#25
21:53, 26 июня 2011

Mikle
Кстати проверь константы фильтра....
Гружу текстуру не степени 2 так:

Set s_texture = CreateTextureFromFileEx(g_dev, file, 0, 0, 1, D3DUSAGE_NONE, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0, VarPtr(SrcInfo))
все тянется...

А если так, все норм...

Set s_texture = CreateTextureFromFileEx(g_dev, file, 0, 0, 1, D3DUSAGE_NONE, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_POINT, D3DX_FILTER_POINT, 0, VarPtr(SrcInfo))

Посмотрел твой пример... Попробуй поставить точки останова в операторе выбора в рендере... У меня при любых манипуляциях с приложением
туда никто не заходит...

#26
13:47, 27 июня 2011

Обновил набор туториалов, исправил ошибку в компиляторе шейдеров, теперь работает с русскими именами.

#27
11:11, 28 июня 2011

Mikle
Посмотрел тутариалы... Классно...
Можешь дать ссылку на инфо как юзать шейдеры на DX9?

Mikle
В твоем примере вообще закоментировал код

  Select Case Dev.TestCooperativeLevel
  Case D3DERR_DEVICELOST
    Exit Sub
  Case D3DERR_DEVICENOTRESET
    If FullScreen Then
      Dev.Reset d3dppF
    Else
      Move meLeft, meTop, meWidth, meHeight
      Dev.Reset d3dppW
    End If
  End Select
И ничего не изменилось...
#28
11:28, 28 июня 2011

max255
> Можешь дать ссылку на инфо как юзать шейдеры на DX9?
Я пользуюсь DX SDK, причём можно не качать всё целиком, а только .chm файл - это вся документация.
max255
> В твоем примере вообще закоментировал код
> И ничего не изменилось...
Это на случай потери девайса по внешним причинам, когда в Винде что-то происходит. А то, что вызвано тобой обрабатывается в программе в другом месте.

По посту 25: а в DX8 не проверял, как должно быть?

#29
12:26, 28 июня 2011

Mikle
> По посту 25: а в DX8 не проверял, как должно быть?
Вот рабочий код с восьмерки...

 If g_device_caps.TextureCaps And D3DPTEXTURECAPS_POW2 Then      'загружаем в зависимости от железа
    Set texture_buf = g_d3dx.CreateTextureFromFileEx(g_dev, file, 0, 0, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0, s_src_data, ByVal 0)
 Else
    Set texture_buf = g_d3dx.CreateTextureFromFileEx(g_dev, file, 0, 0, 0, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, s_src_data, ByVal 0)
 End If
Страницы: 1 2 3 48 Следующая »
Вело-изобретателиФорумdx_vb - порт DirectX9 для VB6

Тема в архиве.