Page 2 of 2

Re: Редактор для воксельной графики

Posted: Sat Nov 10, 2012 11:37 pm
by Mario
Для написания под Колибри и Винду хорошо бы иметь абстрактный уровень, но это опять же раздует код.
Палка-палка, два конца.

Re: Редактор для воксельной графики

Posted: Mon Nov 12, 2012 11:46 pm
by IgorA
Абстрактным уровнем в какой-то степени можно считать код из buf2d, но его я тоже немного переделывал.
Первая пробная версия под Windows здесь
vox_editor_win.zip (47.62 KiB)
обновил 14.11.2012
Downloaded 405 times
А также исходники + немного мусорных файлов 239 Kb здесь https://dl.dropbox.com/u/20922391/vox_editor_win.zip
Особо не тестировал, вроди все работает. Есть несколько недоделок, а именно:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)
2) не удалось подключить строковые ресурсы, для подсказок на кнопки
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает

Re: Редактор для воксельной графики

Posted: Wed Nov 14, 2012 6:58 pm
by IgorA
Обнаружил ошибку при сохранении файла в редакторе под Windows, в связи с чем обновил выше файл *.exe и исходники. В функции CreateFile стоял флаг CREATE_NEW что означает создать новый. Т. е. программа могла сохранять файлы только с новыми именами, пересохранять готовые файлы не могла. Поставил флаг CREATE_ALWAYS, теперь вроди все нормально.

Re: Редактор для воксельной графики

Posted: Wed Nov 14, 2012 9:06 pm
by CleverMouse
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)

Code: Select all

invoke SendMessage, [hToolb], TB_SETSTATE, IDM_LIGHT, TBSTATE_ENABLED+TBSTATE_PRESSED
?
2) не удалось подключить строковые ресурсы, для подсказок на кнопки
Это сложнее. Во-первых, таблица строк создаётся по 16 штук в одном ресурсе:

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
В-третьих, в структурах TBBUTTON нужно заполнить последнее поле индексом в строке (в примере тултип всех кнопок с iString=0 будет "button0", iString=1 - "button1" и т.д.).
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает
Поставь ресурсу идентификатор 1. И FileVersion типа '1.0' добавь.

Re: Редактор для воксельной графики

Posted: Wed Jan 02, 2013 12:37 am
by IgorA
CleverMouse
Спасибо, очень помогло. Хотя строковые ресурсы я делать не стал.
Теперь появилась идея использовать OpenGL для отображения воксельных объектов. Пробовал сделать программу для просмотра, вот что вышло:
https://dl.dropbox.com/u/20922391/opengl_1.png

Re: Редактор для воксельной графики

Posted: Wed Jan 02, 2013 5:33 pm
by IgorA
разобрался почему не показывало, оказывает нужно было вставить всего одну строку в коде

Code: Select all

invoke glEnable,GL_DEPTH_TEST
сама программа с исходниками в архиве здесь
https://dl.dropbox.com/u/20922391/vox_ogl.zip
но эта программа только для просмотра в 3d, редактировать и создавать файлы можно через колибровский или через виндосовский редакторы. Повороты объекта с помощью клавиатуры или с помощю панели. Кнопка с освещением пока не работает.

Re: Редактор для воксельной графики

Posted: Mon Jan 14, 2013 11:35 pm
by IgorA
Немного доработал программу просмотра воксельных файлов под Windows (ту что использует OpenGL). Файл по ссылке выше обновил.
Основные изменения:
- поворот объекта при нажатии и движении мыши
- статистика по колличеству вокселей, видимых при данном масштабе
- убрал некоторые невидимые грани при соседних вокселях, для оптимизиции прорисовки
Одна из недоработок в том что верх и низ а также лево и право показываются наоборот, т. е. модель при загрузке всегда перевернута.
Spoiler:На рисунке пример модели с 123,5 тысячами вокселей. При перерисовках процессор немного подгружается, но не сильно.
vox_ogl.png
vox_ogl.png (216.54 KiB)
Viewed 9441 times
Эта модель не дорисована потому на скачивание ее не даю.
Хотелось бы все это сделать на TinyGL, но наверное это будет не скоро.

Re: Редактор для воксельной графики

Posted: Wed Jan 21, 2015 11:42 pm
by IgorA
Еще доработал программу просмотра воксельных файлов под 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 я лучше разобрался с нормалями и смог сделать более красивое отражение.

Re: Редактор для воксельной графики

Posted: Sun Feb 21, 2016 3:42 am
by Leency
IgorA
Добавь пожалуйста в автосборку воксельные утилиты.

Re: Редактор для воксельной графики

Posted: Sun Mar 11, 2018 4:13 pm
by Leency
Ни одна утилита, ни редактор не понимают переданный параметр запуска :( т.е. "открыть с помощью".

Re: Редактор для воксельной графики

Posted: Tue Mar 20, 2018 5:25 pm
by IgorA
Leency wrote:Ни одна утилита, ни редактор не понимают переданный параметр запуска т.е. "открыть с помощью".
В ревизии 7193 добавил открытие файла из командной строки в главную программу. Утилиты пока еще не правил.

Re: Редактор для воксельной графики

Posted: Tue Mar 20, 2018 6:13 pm
by Leency
Спасибо, я добавлю ассоциации.

Re: Редактор для воксельной графики

Posted: Thu Mar 22, 2018 11:52 pm
by IgorA
rev 7205
1) добавил в утилиты обработку параметра командной строки,
2) перенес файлы с изображениями панелей внутрь исполняемых программ, это должно высвободить немного места на диске.