www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
boolean на произвольных полигональных объектах
На страницу Пред.  1, 2, 3, 4  След.
 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 18:34    Заголовок сообщения: Ответить с цитатой

Относительно "честных" булевских операций с мешами... Ну теоритически, самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка и объединяя в результирующий меш, с возможными достроениями. Понятнее будет, если решить задачу сначала для 2D:

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 18:38    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
BiTL писал(а):
Возможность написания плагинов не рассматривается?

Так шейдеры внешние - чем не плагины?


У вас шойдеры головного мозга Smile Обострившиеся на почве хайку форта )

Шейдеры - не плагины. А если я захочу своим плагином на камеру сцены воздействовать? Или свой текстуро-генератор подключить? Или меши свои в конвеер включить, или физику поведения объектов? Шойдерами всё не решишь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 423
Откуда: Туапсе

СообщениеДобавлено: Сб Янв 11, 2014 19:07    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка

Из большого круга вырежи маленький, полностью находящийся внутри большого - ни одной точки пересечения. Rolling Eyes
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Сб Янв 11, 2014 19:13    Заголовок сообщения: Ответить с цитатой

сорс-код скоро в гитхабе будет. а там уже дописывай что хочешь.
регистришь команду в инит-файле

типа так
Код:
   copystring(CmdDesc[n].FName,"Clear");
      copystring(CmdDesc[n].FParamName[1],"red");
      copystring(CmdDesc[n].FParamName[2],"green");
      copystring(CmdDesc[n].FParamName[3],"blue");
      copystring(CmdDesc[n].FParamName[4],"alpha");

      CmdDesc[n].FRoutine=Clear;
      CmdDesc[n].FCategory=IDC_RGB;
      CmdDesc[n].FLevel=1;
      
      n++;



пишешь функционал типа так:
Код:
void Clear()
{
pDevice->Clear(0,NULL, D3DCLEAR_TARGET,D3DCOLOR_RGBA(Get(CPos,1),Get(CPos,2),Get(CPos,3),Get(CPos,4)),8.0f,0);
}


и команда твоя появляется в интерфейсе, можно юзать

шойдеры лежат чуть отдельно (разные команды могут юзать одни и те же шойдеры в комбинациях), подрубаются еще проще.

для внешних шойдеров нужно еще с камерами разобраться, что им куда подавать. доделаю тени-бамп-прочую фигню - станет ясно что куда пихать, тогда и вынесу во внешний файл и добавлю динамическую компиляцию.

демка (не редактор) из сорцов получается так:
Код:
//#define EditMode

предварительно нужно закинуть все патчи в корень проекта (звук, видеоряд, модуль, шрифт, текст)

можно еще несколько кб выжать перекомпилив минифмод под твой модуль.

отключалка неюзаных ф-ций в процессе, как сделаю - размер еще сильнее уменьшится.
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 19:15    Заголовок сообщения: Ответить с цитатой

Mikle писал(а):
BiTL писал(а):
самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка

Из большого круга вырежи маленький, полностью находящийся внутри большого - ни одной точки пересечения. Rolling Eyes


Ну здрасьте, если попробовать из сферы вырезать маленькую сферу внутри большой, ты тоже вырежешь пустоту. Я же нарисовал пример для ксора контуров.

Может для начала этим обойтись?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Сб Янв 11, 2014 19:20    Заголовок сообщения: Ответить с цитатой

https://www.dropbox.com/s/n5u69nbyhf7rvsv/hny2014final.exe финалко здесь пока, если манве одобрит, зальет на поуэт. если нет, я незнаю, переделывать уже влом что-то. размер не ужимал экстремально, всем в принципе пофиг 56 к или 61 же...

глянтье, как робит, мало ли баги на каких видяхах
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 19:28    Заголовок сообщения: Ответить с цитатой

f0x писал(а):
сорс-код скоро в гитхабе будет. а там уже дописывай что хочешь.


f0x писал(а):
и команда твоя появляется в интерфейсе, можно юзать


f0x писал(а):

демка (не редактор) из сорцов получается так:
Код:
//#define EditMode



Пока что выглядит многообещающе Smile

Вот было бы ещё нечто вроде API, чтобы не ковыряться в коде. Я имею ввиду, чтобы управлять глобальными параметрами сцены, объектов и текстур можно было не вмешиваясь в основной код движка. Ну, например, я всё замоделил, всё летает, но хочу добавить свою функцию, которая заставит определённый источник света пульсировать. Ну предположим я подключил свой синт, и хочу чтобы всё плясало под музыку? Если бы было какое-то API, я бы мог делать GET и SET любым параметрам любого объекта, и не знать даже - в каком файле и где оно чего делает, мне было бы достаточно полистать ман по API.

Или это уже не вписывается в архитектуру?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 19:30    Заголовок сообщения: Ответить с цитатой

f0x писал(а):
https://www.dropbox.com/s/n5u69nbyhf7rvsv/hny2014final.exe финалко здесь пока, если манве одобрит, зальет на поуэт. если нет, я незнаю, переделывать уже влом что-то. размер не ужимал экстремально, всем в принципе пофиг 56 к или 61 же...

глянтье, как робит, мало ли баги на каких видяхах


Ну закаптурьте кто-нибудь на ютуб!!!! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Сб Янв 11, 2014 19:39    Заголовок сообщения: Ответить с цитатой

в принципе это можно стандартизировать, описать один раз механику и все. не вижу сложностей, но надо пробовать на реальных задачах. я с помощью нг-интры просто ворох багов нашел и зафиксил, на синтетике и неувидел бы никогда
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1412


СообщениеДобавлено: Сб Янв 11, 2014 20:21    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Шейдеры - не плагины. А если я захочу своим плагином на камеру сцены воздействовать? Или свой текстуро-генератор подключить? Или меши свои в конвеер включить, или физику поведения объектов? Шойдерами всё не решишь.

1. Текстур-генератор шейдерами пиксельными - не проблема.
2. Меши корёжить шейдерами вершинными - не проблема.
3. Анимировать весь объект (хоть физику считать, хоть что) - теми же вершинными шейдерами можно.
4. И для особо извращённых можно и камеру двигать, только наоборот: камеру оставлять, а все объекты сцены двигать (см. пункт 3).
Это просто на тот случай, когда компилировать ничего не хочется. В текстовом файле с шейдерами поковырялся - и готово.
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Сб Янв 11, 2014 20:32    Заголовок сообщения: Ответить с цитатой

по факту, компилировать будет директХ, пускай, его не жалко))
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 20:49    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):

1. Текстур-генератор шейдерами пиксельными - не проблема.
2. Меши корёжить шейдерами вершинными - не проблема.
3. Анимировать весь объект (хоть физику считать, хоть что) - теми же вершинными шейдерами можно.
4. И для особо извращённых можно и камеру двигать, только наоборот: камеру оставлять, а все объекты сцены двигать (см. пункт 3).
Это просто на тот случай, когда компилировать ничего не хочется. В текстовом файле с шейдерами поковырялся - и готово.


Тогда и пластикатор ненужен, делаем всё шейдерами, собираем простенький фрэймворк и вперёд )

Но я всё-таки немного о другом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Сб Янв 11, 2014 20:51    Заголовок сообщения: Ответить с цитатой

f0x писал(а):
по факту, компилировать будет директХ, пускай, его не жалко))


а смотреть демку будет кто-то другой, его темболее не жалко Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Вс Янв 12, 2014 10:21    Заголовок сообщения: Ответить с цитатой

дык давно уже пишем для трех калекSmile) так что вообще ничего не жалко
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 423
Откуда: Туапсе

СообщениеДобавлено: Вс Янв 12, 2014 10:54    Заголовок сообщения: Ответить с цитатой

f0x писал(а):
дык давно уже пишем для трех калек

Не правда! В этой теме нас уже четверо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Программирование Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4  След.
Страница 3 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах