Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Apr 24, 2019 7:16 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 28 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Sat Nov 10, 2012 11:37 pm 
Для написания под Колибри и Винду хорошо бы иметь абстрактный уровень, но это опять же раздует код.
Палка-палка, два конца.


Top
   
PostPosted: Mon Nov 12, 2012 11:46 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Абстрактным уровнем в какой-то степени можно считать код из buf2d, но его я тоже немного переделывал.
Первая пробная версия под Windows здесь
Attachment:
File comment: обновил 14.11.2012
vox_editor_win.zip [47.62 KiB]
Downloaded 163 times

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


Top
   
PostPosted: Wed Nov 14, 2012 6:58 pm 
Offline
User avatar

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


Top
   
PostPosted: Wed Nov 14, 2012 9:06 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Quote:
1) кнопка освещения не вдавливается (высокоуровневая функция SetCheck какая api32 за ней стоит так пока и не понял?)

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

Это сложнее. Во-первых, таблица строк создаётся по 16 штук в одном ресурсе:
Code:
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:
   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" и т.д.).
Quote:
3) не удалось настроить ресурс versioinfo, он вроди компилируется, но ни в каких диалоговых окнах со свойствами информация из него почемуто не попадает

Поставь ресурсу идентификатор 1. И FileVersion типа '1.0' добавь.

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


Top
   
PostPosted: Wed Jan 02, 2013 12:37 am 
Offline
User avatar

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


Top
   
PostPosted: Wed Jan 02, 2013 5:33 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
разобрался почему не показывало, оказывает нужно было вставить всего одну строку в коде
Code:
invoke glEnable,GL_DEPTH_TEST

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


Top
   
PostPosted: Mon Jan 14, 2013 11:35 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Немного доработал программу просмотра воксельных файлов под Windows (ту что использует OpenGL). Файл по ссылке выше обновил.
Основные изменения:
- поворот объекта при нажатии и движении мыши
- статистика по колличеству вокселей, видимых при данном масштабе
- убрал некоторые невидимые грани при соседних вокселях, для оптимизиции прорисовки
Одна из недоработок в том что верх и низ а также лево и право показываются наоборот, т. е. модель при загрузке всегда перевернута.
Spoiler: Show
На рисунке пример модели с 123,5 тысячами вокселей. При перерисовках процессор немного подгружается, но не сильно.
Attachment:
vox_ogl.png
vox_ogl.png [ 216.54 KiB | Viewed 3389 times ]

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

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


Top
   
PostPosted: Wed Jan 21, 2015 11:42 pm 
Offline
User avatar

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


Top
   
PostPosted: Sun Feb 21, 2016 3:42 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 4990
IgorA
Добавь пожалуйста в автосборку воксельные утилиты.

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


Top
   
PostPosted: Sun Mar 11, 2018 4:13 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 4990
Ни одна утилита, ни редактор не понимают переданный параметр запуска :( т.е. "открыть с помощью".

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


Top
   
PostPosted: Tue Mar 20, 2018 5:25 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Leency wrote:
Ни одна утилита, ни редактор не понимают переданный параметр запуска т.е. "открыть с помощью".

В ревизии 7193 добавил открытие файла из командной строки в главную программу. Утилиты пока еще не правил.


Top
   
PostPosted: Tue Mar 20, 2018 6:13 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 4990
Спасибо, я добавлю ассоциации.

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


Top
   
PostPosted: Thu Mar 22, 2018 11:52 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
rev 7205
1) добавил в утилиты обработку параметра командной строки,
2) перенес файлы с изображениями панелей внутрь исполняемых программ, это должно высвободить немного места на диске.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 28 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited