Для написания под Колибри и Винду хорошо бы иметь абстрактный уровень, но это опять же раздует код.
Палка-палка, два конца.
Редактор для воксельной графики
Абстрактным уровнем в какой-то степени можно считать код из buf2d, но его я тоже немного переделывал.
Первая пробная версия под Windows здесь А также исходники + немного мусорных файлов 239 Kb здесь https://dl.dropbox.com/u/20922391/vox_editor_win.zip
Особо не тестировал, вроди все работает. Есть несколько недоделок, а именно:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)
2) не удалось подключить строковые ресурсы, для подсказок на кнопки
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает
Первая пробная версия под Windows здесь А также исходники + немного мусорных файлов 239 Kb здесь https://dl.dropbox.com/u/20922391/vox_editor_win.zip
Особо не тестировал, вроди все работает. Есть несколько недоделок, а именно:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)
2) не удалось подключить строковые ресурсы, для подсказок на кнопки
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает
Обнаружил ошибку при сохранении файла в редакторе под Windows, в связи с чем обновил выше файл *.exe и исходники. В функции CreateFile стоял флаг CREATE_NEW что означает создать новый. Т. е. программа могла сохранять файлы только с новыми именами, пересохранять готовые файлы не могла. Поставил флаг CREATE_ALWAYS, теперь вроди все нормально.
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)
Code: Select all
invoke SendMessage, [hToolb], TB_SETSTATE, IDM_LIGHT, TBSTATE_ENABLED+TBSTATE_PRESSED
Это сложнее. Во-первых, таблица строк создаётся по 16 штук в одном ресурсе:2) не удалось подключить строковые ресурсы, для подсказок на кнопки
Code: Select all
directory ...,RT_STRING,strtable1,...
resource strtable1,2,LANG_RUSSIAN+SUBLANG_DEFAULT,str_table ; identifier=2 => string identifiers from 16 to 31
macro du_counted str
{
local ..a, ..b
dw ..b - ..a
..a:
du str
..b:
}
resdata str_table
du_counted '|button0|button1|...|buttonN||' ; string with id=16
times 15 dw 0 ; other 15 strings from this block are not used
endres
Code: Select all
mov [hToolb],eax
invoke SendMessage, eax, TB_SETMAXTEXTROWS, 0, 0
invoke SendMessage, [hToolb], TB_ADDSTRING, [wc.hInstance], 16
Поставь ресурсу идентификатор 1. И FileVersion типа '1.0' добавь.3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает
Сделаем мир лучше!
CleverMouse
Спасибо, очень помогло. Хотя строковые ресурсы я делать не стал.
Теперь появилась идея использовать OpenGL для отображения воксельных объектов. Пробовал сделать программу для просмотра, вот что вышло:
https://dl.dropbox.com/u/20922391/opengl_1.png
Спасибо, очень помогло. Хотя строковые ресурсы я делать не стал.
Теперь появилась идея использовать OpenGL для отображения воксельных объектов. Пробовал сделать программу для просмотра, вот что вышло:
https://dl.dropbox.com/u/20922391/opengl_1.png
разобрался почему не показывало, оказывает нужно было вставить всего одну строку в коде
сама программа с исходниками в архиве здесь
https://dl.dropbox.com/u/20922391/vox_ogl.zip
но эта программа только для просмотра в 3d, редактировать и создавать файлы можно через колибровский или через виндосовский редакторы. Повороты объекта с помощью клавиатуры или с помощю панели. Кнопка с освещением пока не работает.
Code: Select all
invoke glEnable,GL_DEPTH_TEST
https://dl.dropbox.com/u/20922391/vox_ogl.zip
но эта программа только для просмотра в 3d, редактировать и создавать файлы можно через колибровский или через виндосовский редакторы. Повороты объекта с помощью клавиатуры или с помощю панели. Кнопка с освещением пока не работает.
Немного доработал программу просмотра воксельных файлов под Windows (ту что использует OpenGL). Файл по ссылке выше обновил.
Основные изменения:
- поворот объекта при нажатии и движении мыши
- статистика по колличеству вокселей, видимых при данном масштабе
- убрал некоторые невидимые грани при соседних вокселях, для оптимизиции прорисовки
Одна из недоработок в том что верх и низ а также лево и право показываются наоборот, т. е. модель при загрузке всегда перевернута.
Хотелось бы все это сделать на TinyGL, но наверное это будет не скоро.
Основные изменения:
- поворот объекта при нажатии и движении мыши
- статистика по колличеству вокселей, видимых при данном масштабе
- убрал некоторые невидимые грани при соседних вокселях, для оптимизиции прорисовки
Одна из недоработок в том что верх и низ а также лево и право показываются наоборот, т. е. модель при загрузке всегда перевернута.
Spoiler:
На рисунке пример модели с 123,5 тысячами вокселей. При перерисовках процессор немного подгружается, но не сильно. Эта модель не дорисована потому на скачивание ее не даю.Еще доработал программу просмотра воксельных файлов под Windows. Исправлено не правильное отображение модели (лево и право были поменяны местами). Улучшился алгоритм работы с освещением модели, теперь модель выглядит более объемной.
Вот ссылки на изображения:
https://dl.dropboxusercontent.com/u/209 ... engl_1.png - старое освещение
https://dl.dropboxusercontent.com/u/209 ... engl_2.png - без освещения
https://dl.dropboxusercontent.com/u/209 ... engl_3.png - новое освещение
Саму программу можно загрузить по старой ссылке:
https://dl.dropboxusercontent.com/u/209 ... ox_ogl.zip
Учитывая то что я делаю ассемблерную версию tinygl, возможно что эта программа когда-нибудь будет перенесена в Колибри. Благодаря этому переводу tinygl на asm я лучше разобрался с нормалями и смог сделать более красивое отражение.
Вот ссылки на изображения:
https://dl.dropboxusercontent.com/u/209 ... engl_1.png - старое освещение
https://dl.dropboxusercontent.com/u/209 ... engl_2.png - без освещения
https://dl.dropboxusercontent.com/u/209 ... engl_3.png - новое освещение
Саму программу можно загрузить по старой ссылке:
https://dl.dropboxusercontent.com/u/209 ... ox_ogl.zip
Учитывая то что я делаю ассемблерную версию tinygl, возможно что эта программа когда-нибудь будет перенесена в Колибри. Благодаря этому переводу tinygl на asm я лучше разобрался с нормалями и смог сделать более красивое отражение.
IgorA
Добавь пожалуйста в автосборку воксельные утилиты.
Добавь пожалуйста в автосборку воксельные утилиты.
Из хаоса в космос
Ни одна утилита, ни редактор не понимают переданный параметр запуска т.е. "открыть с помощью".
Из хаоса в космос
В ревизии 7193 добавил открытие файла из командной строки в главную программу. Утилиты пока еще не правил.Leency wrote:Ни одна утилита, ни редактор не понимают переданный параметр запуска т.е. "открыть с помощью".
Спасибо, я добавлю ассоциации.
Из хаоса в космос
rev 7205
1) добавил в утилиты обработку параметра командной строки,
2) перенес файлы с изображениями панелей внутрь исполняемых программ, это должно высвободить немного места на диске.
1) добавил в утилиты обработку параметра командной строки,
2) перенес файлы с изображениями панелей внутрь исполняемых программ, это должно высвободить немного места на диске.
Who is online
Users browsing this forum: No registered users and 0 guests