Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 18:34 Заголовок сообщения: |
|
|
Относительно "честных" булевских операций с мешами... Ну теоритически, самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка и объединяя в результирующий меш, с возможными достроениями. Понятнее будет, если решить задачу сначала для 2D:
|
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 18:38 Заголовок сообщения: |
|
|
Manwe писал(а): | BiTL писал(а): | Возможность написания плагинов не рассматривается? |
Так шейдеры внешние - чем не плагины? |
У вас шойдеры головного мозга Обострившиеся на почве хайку форта )
Шейдеры - не плагины. А если я захочу своим плагином на камеру сцены воздействовать? Или свой текстуро-генератор подключить? Или меши свои в конвеер включить, или физику поведения объектов? Шойдерами всё не решишь. |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Сб Янв 11, 2014 19:07 Заголовок сообщения: |
|
|
BiTL писал(а): | самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка |
Из большого круга вырежи маленький, полностью находящийся внутри большого - ни одной точки пересечения. |
|
Вернуться к началу |
|
|
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);
}
|
и команда твоя появляется в интерфейсе, можно юзать
шойдеры лежат чуть отдельно (разные команды могут юзать одни и те же шойдеры в комбинациях), подрубаются еще проще.
для внешних шойдеров нужно еще с камерами разобраться, что им куда подавать. доделаю тени-бамп-прочую фигню - станет ясно что куда пихать, тогда и вынесу во внешний файл и добавлю динамическую компиляцию.
демка (не редактор) из сорцов получается так:
предварительно нужно закинуть все патчи в корень проекта (звук, видеоряд, модуль, шрифт, текст)
можно еще несколько кб выжать перекомпилив минифмод под твой модуль.
отключалка неюзаных ф-ций в процессе, как сделаю - размер еще сильнее уменьшится. _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 19:15 Заголовок сообщения: |
|
|
Mikle писал(а): | BiTL писал(а): | самое очевидное что прикодит на ум, это нахождение точек пересечения граней одного и второго объекта, отсечение по этим точкам, получая два меша-огрызка |
Из большого круга вырежи маленький, полностью находящийся внутри большого - ни одной точки пересечения. |
Ну здрасьте, если попробовать из сферы вырезать маленькую сферу внутри большой, ты тоже вырежешь пустоту. Я же нарисовал пример для ксора контуров.
Может для начала этим обойтись? |
|
Вернуться к началу |
|
|
f0x
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Сб Янв 11, 2014 19:20 Заголовок сообщения: |
|
|
https://www.dropbox.com/s/n5u69nbyhf7rvsv/hny2014final.exe финалко здесь пока, если манве одобрит, зальет на поуэт. если нет, я незнаю, переделывать уже влом что-то. размер не ужимал экстремально, всем в принципе пофиг 56 к или 61 же...
глянтье, как робит, мало ли баги на каких видяхах _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 19:28 Заголовок сообщения: |
|
|
f0x писал(а): | сорс-код скоро в гитхабе будет. а там уже дописывай что хочешь. |
f0x писал(а): | и команда твоя появляется в интерфейсе, можно юзать |
f0x писал(а): |
демка (не редактор) из сорцов получается так:
|
Пока что выглядит многообещающе
Вот было бы ещё нечто вроде API, чтобы не ковыряться в коде. Я имею ввиду, чтобы управлять глобальными параметрами сцены, объектов и текстур можно было не вмешиваясь в основной код движка. Ну, например, я всё замоделил, всё летает, но хочу добавить свою функцию, которая заставит определённый источник света пульсировать. Ну предположим я подключил свой синт, и хочу чтобы всё плясало под музыку? Если бы было какое-то API, я бы мог делать GET и SET любым параметрам любого объекта, и не знать даже - в каком файле и где оно чего делает, мне было бы достаточно полистать ман по API.
Или это уже не вписывается в архитектуру? |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 19:30 Заголовок сообщения: |
|
|
f0x писал(а): | https://www.dropbox.com/s/n5u69nbyhf7rvsv/hny2014final.exe финалко здесь пока, если манве одобрит, зальет на поуэт. если нет, я незнаю, переделывать уже влом что-то. размер не ужимал экстремально, всем в принципе пофиг 56 к или 61 же...
глянтье, как робит, мало ли баги на каких видяхах |
Ну закаптурьте кто-нибудь на ютуб!!!! |
|
Вернуться к началу |
|
|
f0x
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Сб Янв 11, 2014 19:39 Заголовок сообщения: |
|
|
в принципе это можно стандартизировать, описать один раз механику и все. не вижу сложностей, но надо пробовать на реальных задачах. я с помощью нг-интры просто ворох багов нашел и зафиксил, на синтетике и неувидел бы никогда _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Сб Янв 11, 2014 20:21 Заголовок сообщения: |
|
|
BiTL писал(а): | Шейдеры - не плагины. А если я захочу своим плагином на камеру сцены воздействовать? Или свой текстуро-генератор подключить? Или меши свои в конвеер включить, или физику поведения объектов? Шойдерами всё не решишь. |
1. Текстур-генератор шейдерами пиксельными - не проблема.
2. Меши корёжить шейдерами вершинными - не проблема.
3. Анимировать весь объект (хоть физику считать, хоть что) - теми же вершинными шейдерами можно.
4. И для особо извращённых можно и камеру двигать, только наоборот: камеру оставлять, а все объекты сцены двигать (см. пункт 3).
Это просто на тот случай, когда компилировать ничего не хочется. В текстовом файле с шейдерами поковырялся - и готово. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
f0x
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Сб Янв 11, 2014 20:32 Заголовок сообщения: |
|
|
по факту, компилировать будет директХ, пускай, его не жалко)) _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 20:49 Заголовок сообщения: |
|
|
Manwe писал(а): |
1. Текстур-генератор шейдерами пиксельными - не проблема.
2. Меши корёжить шейдерами вершинными - не проблема.
3. Анимировать весь объект (хоть физику считать, хоть что) - теми же вершинными шейдерами можно.
4. И для особо извращённых можно и камеру двигать, только наоборот: камеру оставлять, а все объекты сцены двигать (см. пункт 3).
Это просто на тот случай, когда компилировать ничего не хочется. В текстовом файле с шейдерами поковырялся - и готово. |
Тогда и пластикатор ненужен, делаем всё шейдерами, собираем простенький фрэймворк и вперёд )
Но я всё-таки немного о другом. |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 11, 2014 20:51 Заголовок сообщения: |
|
|
f0x писал(а): | по факту, компилировать будет директХ, пускай, его не жалко)) |
а смотреть демку будет кто-то другой, его темболее не жалко |
|
Вернуться к началу |
|
|
f0x
Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Вс Янв 12, 2014 10:21 Заголовок сообщения: |
|
|
дык давно уже пишем для трех калек) так что вообще ничего не жалко _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Вс Янв 12, 2014 10:54 Заголовок сообщения: |
|
|
f0x писал(а): | дык давно уже пишем для трех калек |
Не правда! В этой теме нас уже четверо |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|