Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт ноя 23, 2017 5:55 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
СообщениеДобавлено: Сб ноя 10, 2012 11:37 pm 
Для написания под Колибри и Винду хорошо бы иметь абстрактный уровень, но это опять же раздует код.
Палка-палка, два конца.


Вернуться к началу
   
СообщениеДобавлено: Пн ноя 12, 2012 11:46 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
Абстрактным уровнем в какой-то степени можно считать код из buf2d, но его я тоже немного переделывал.
Первая пробная версия под Windows здесь
Вложение:
Комментарий к файлу: обновил 14.11.2012
vox_editor_win.zip [47.62 КБ]
110 скачиваний

А также исходники + немного мусорных файлов 239 Kb здесь https://dl.dropbox.com/u/20922391/vox_editor_win.zip
Особо не тестировал, вроди все работает. Есть несколько недоделок, а именно:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)
2) не удалось подключить строковые ресурсы, для подсказок на кнопки
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает


Вернуться к началу
СообщениеДобавлено: Ср ноя 14, 2012 6:58 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
Обнаружил ошибку при сохранении файла в редакторе под Windows, в связи с чем обновил выше файл *.exe и исходники. В функции CreateFile стоял флаг CREATE_NEW что означает создать новый. Т. е. программа могла сохранять файлы только с новыми именами, пересохранять готовые файлы не могла. Поставил флаг CREATE_ALWAYS, теперь вроди все нормально.


Вернуться к началу
СообщениеДобавлено: Ср ноя 14, 2012 9:06 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1601
Цитата:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)

Код:
invoke SendMessage, [hToolb], TB_SETSTATE, IDM_LIGHT, TBSTATE_ENABLED+TBSTATE_PRESSED
?
Цитата:
2) не удалось подключить строковые ресурсы, для подсказок на кнопки

Это сложнее. Во-первых, таблица строк создаётся по 16 штук в одном ресурсе:
Код:
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

Во-вторых, при создании тулбара нужно эту строку передать тулбару:
Код:
   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' добавь.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Ср янв 02, 2013 12:37 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
CleverMouse
Спасибо, очень помогло. Хотя строковые ресурсы я делать не стал.
Теперь появилась идея использовать OpenGL для отображения воксельных объектов. Пробовал сделать программу для просмотра, вот что вышло:
https://dl.dropbox.com/u/20922391/opengl_1.png


Вернуться к началу
СообщениеДобавлено: Ср янв 02, 2013 5:33 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
разобрался почему не показывало, оказывает нужно было вставить всего одну строку в коде
Код:
invoke glEnable,GL_DEPTH_TEST

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


Вернуться к началу
СообщениеДобавлено: Пн янв 14, 2013 11:35 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
Немного доработал программу просмотра воксельных файлов под Windows (ту что использует OpenGL). Файл по ссылке выше обновил.
Основные изменения:
- поворот объекта при нажатии и движении мыши
- статистика по колличеству вокселей, видимых при данном масштабе
- убрал некоторые невидимые грани при соседних вокселях, для оптимизиции прорисовки
Одна из недоработок в том что верх и низ а также лево и право показываются наоборот, т. е. модель при загрузке всегда перевернута.
Спойлер: Показать
На рисунке пример модели с 123,5 тысячами вокселей. При перерисовках процессор немного подгружается, но не сильно.
Вложение:
vox_ogl.png
vox_ogl.png [ 216.54 КБ | 2073 просмотра ]

Эта модель не дорисована потому на скачивание ее не даю.

Хотелось бы все это сделать на TinyGL, но наверное это будет не скоро.


Вернуться к началу
СообщениеДобавлено: Ср янв 21, 2015 11:42 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 750
Еще доработал программу просмотра воксельных файлов под 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 я лучше разобрался с нормалями и смог сделать более красивое отражение.


Вернуться к началу
СообщениеДобавлено: Вс фев 21, 2016 3:42 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
IgorA
Добавь пожалуйста в автосборку воксельные утилиты.

_________________
Через тернии к звездам


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 24 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB