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

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

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

Страницы: 13 4 5 68 Следующая »
#45
12:44, 11 авг. 2011

Исправил, перезалил.

#46
16:37, 11 авг. 2011

Благодарю )

#47
19:00, 5 сен. 2011

Есть предложение добавить в порт битовые сдвиги...

Вот можеш добавить функции получения версии шейдеров:

Function D3DSHADER_VERSION_MAJOR(Version As Long) As Long
 D3DSHADER_VERSION_MAJOR = (((Version And &H1000FF00) - &H10000000) / &HFF)
End Function
    
Function D3DSHADER_VERSION_MINOR(Version As Long) As Long
 D3DSHADER_VERSION_MINOR = (Version And &HFF)
End Function

#48
23:21, 5 сен. 2011

max255
> Есть предложение добавить в порт битовые сдвиги...
В смысле? Сделать функции?
С учётом затрат времени на вызов DLL, я думаю умножение и целочисленное деление будут быстрее.

#49
13:58, 7 сен. 2011

Mikle
Можно как нибудь переделать stop при ошибке загрузке шейдера?
Например Msgbox "Direct3DDevice.CreateShader....",, "Direct3D9" затем end?

#50
14:05, 7 сен. 2011

max255
У меня там Stop... :) забыл убрать со времён отладки, переделаю.

#51
18:48, 26 сен. 2011

Обновил компилятор шейдеров...
Теперь есть рабочие области. Загрузка и сохранение их в файл.
ShaderCompiller v2.0 | О проекте dx_vb.
Компилятор шейдеров: Shader compiler v2.1

#52
21:09, 26 сен. 2011

max255
> Обновил компилятор шейдеров
Солидно выглядит. Только лучше сделать, чтобы при открытии (или создании) нового файла вкладка создавалась автоматически.
А сочетания Shift-Ins и Shift-Del задействовать нежелательно. Во ВСЕХ текстовых редакторах у них функции "вставить" и "вырезать", а у Ctrl-Ins - "скопировать". Эти сочетания, наряду с Ctrl-C, Ctrl-V и Ctrl-P поддерживаются даже текстбоксом и остальными контролами с функцией редактирования.
И кнопки "Открыть файл" и "Закрыть файл" (и пункт меню тоже) были бы уже полезны.

#53
21:30, 26 сен. 2011

Mikle
>Только лучше сделать, чтобы при открытии (или создании) нового файла вкладка создавалась автоматически.
Т.Е. одна вкладка - один файл, переоткрыть в ней ничего не получится...

>А сочетания Shift-Ins и Shift-Del
Исправлю...

>И кнопки "Открыть файл" и "Закрыть файл" (и пункт меню тоже) были бы уже полезны.
Тут подробней...

#54
22:15, 26 сен. 2011

max255
> Тут подробней...
В меню есть пункт "Открыть файл", аналогичная кнопка между "New" и "Save" пошла бы на пользу.
А как закрыть? Сейчас ты с помощью Shift-Del закрываешь вкладку, но нужно как-то стандартнее. Как? Например как в эксплорере каждая вкладка имеет кнопку закрыть. Если контрол, с помощью которого ты делаешь вкладки такое не позволяет, можно сделать пункт меню "Закрыть файл" и соответствующую кнопку на панели. А может стоило вместо вкладок применить обычные MDI формы - тут и кнопки все, какие хочешь, и можно сразу несколько окон держать открытыми.

#55
22:34, 26 сен. 2011

Mikle
> В меню есть пункт "Открыть файл", аналогичная кнопка между "New" и "Save" пошла
> бы на пользу.
Понял...

>обычные модальные окна
Ну это уже выводит проект на другой уровень...Неудобство в размере рабочего стола... Вряд ли я на своем монике открою больше одного окна...

Еще думаю встроить туда помощь(справку о командах асма) где то вот так: Сервис->Вставка->Команда

#56
21:45, 27 сен. 2011

Обновил компилятор...
- убрал сочитания клавиш
- убрал добавление вкладок вручную
- убрал автоматическое открытие "пустого" шейдера
+ добавил автоматические вкладки
+ добавил клонирование вкладок
+ добавил удаление рабочей области
+ добавил кнопки "открыть", "закрыть"
+ добавил включение\выключение кнопок

Компилятор шейдеров: Shader compiler v2.1

#57
14:05, 29 сен. 2011

Нашел у себя баг...
При сохранении рабочей области в файл пишется путь к файлу шейдера... Если переместить папку на другой комп или в другое место, то компиллер начинает ругаться, что нет шейдера... Как тут можно обойти эту ситуацию? Или эт не важно?

#58
14:17, 29 сен. 2011

max255
Не важно. Только имеет смысл при сохранении на том же диске, где сама программа, использовать относительный путь, тогда папку с программой и всеми её данными можно будет безболезненно переносить куда угодно.

#59
22:23, 14 окт. 2011

Mikle
Уже неделю мучает BSOD при отладке двига...
Выяснил что он возникает из-за TestAlpha в MXSprite на текстуре с флагами: D3DUSAGE_NONE, D3DPOOL_MANAGED
Вот код TestAlpha:

'-----------------------------------------------------------------------------
'Проверяет альфу в точке
'-----------------------------------------------------------------------------
Private Function TestAlpha(ByVal x As Long, ByVal y As Long) As Boolean
Dim s_data As Long
                                           'получим данные
   g_tex.GetTexture(s_id).GetSurfaceLevel(0).GetPixel x, y, 4, ByVal VarPtr(s_data)
                                           'проверим данные на присутствие альфы
   If s_data And &HFF000000 Then
      TestAlpha = True
   Else
      TestAlpha = False
   End If
End Function

Так и должно быть?

Страницы: 13 4 5 68 Следующая »
Вело-изобретателиФорумdx_vb - порт DirectX9 для VB6

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