forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Пишем 3D движок - замену Xors3D (http://forum.boolean.name/showthread.php?t=18971)

HolyDel 28.04.2014 01:37

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Дополнительная защита от пиратов? Чтобы на левом железе было проблемно запустить?
нет. просто нет необходимости писать на директе, когда есть возможность влиять на целевое железо. не работает 3d vision? - ок, ставим квадры или линукс. проблемы с драйверами - ок, ставим те на которых проблем не было.

Цитата:

Я ни о каком выборе не говорил, прогер должен знать оба гапи однозначно.
ну, знать гапи никогда не помешает. хоть, ИМХО, отличий dx11 от opengl меньше чем dx11 от dx9.

Цитата:

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

pax 28.04.2014 07:13

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от Samodelkin (Сообщение 279530)
Любой хороший движок должен поддерживать оба gapi, иначе это не серьёзно, нужно же на обе консоли выходить.

А есть вероятность что Power Basic работает на консолях?

bugway 28.04.2014 07:27

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от pax (Сообщение 279576)
А есть вероятность что Power Basic работает на консолях?

Если консоли работают на Windows - то да. :)

mr.DIMAS 11.06.2014 16:38

Ответ: Пишем 3D движок - замену Xors3D
 
Как дела?

MiXaeL 11.06.2014 21:05

Ответ: Пишем 3D движок - замену Xors3D
 
Вопрос риторический.

На это обречено 95% "движков", которые крутят кубики с бампом.

moka 11.06.2014 21:14

Ответ: Пишем 3D движок - замену Xors3D
 
Все движки имеют кубик с бампом, не все разрабы этим "хвастаются".

bugway 16.06.2014 05:09

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 282496)
Как дела?

Дела идут относительно неплохо. Огромная часть времени уходит на гугление. :( + Переписываю движок уже на 4 раз с нуля. Что радует - с каждой версией немного повышается производительность.

Из текущих проблем/задач:

1. AI - симуляция огромного числа NPC минимальными ресурсами (возможно утопия)
2. Рендер воксельного мира с использованием marching triangles.
3. Система плагинов.
4. Оптимизация GUI
5. Отладка новой версии Oculus Rift

Поймал себя на том, что движок стал походить на зачаток майнкрафт... :-D Кстати, работаю в этом направлении тоже. :)

KCEPOKC 16.06.2014 11:12

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от bugway (Сообщение 282866)
Поймал себя на том, что движок стал походить на зачаток майнкрафт... :-D Кстати, работаю в этом направлении тоже. :)

Напиши движок и скинь мне, я на нем пиксельное говно писать буду:crazy:
Серьезно. Есть тут одна идея...

moka 16.06.2014 14:40

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от bugway (Сообщение 282866)
Из текущих проблем/задач:

1. AI - симуляция огромного числа NPC минимальными ресурсами (возможно утопия)
2. Рендер воксельного мира с использованием marching triangles.
3. Система плагинов.
4. Оптимизация GUI
5. Отладка новой версии Oculus Rift

Поймал себя на том, что движок стал походить на зачаток майнкрафт... :-D Кстати, работаю в этом направлении тоже. :)

Так ты 3D (рендер) движек пишешь, или игровой движок? Это немного разные вещи, и имхо слишком разные направления чтобы одному потянуть такой объем работы, в итоге будет всего по чуток со всех сторон - но сыро.

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

bugway 16.06.2014 15:01

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от moka (Сообщение 282883)
Так ты 3D (рендер) движек пишешь, или игровой движок? Это немного разные вещи, и имхо слишком разные направления чтобы одному потянуть такой объем работы, в итоге будет всего по чуток со всех сторон - но сыро.

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

Пишу-то по большей части рендер. Понятно, что звуковую, сетевую и физическую библиотеки внешние прикручивать надо будет. Понятно, что с физикой типа Physics мне не потягаться. Но уровень физики чуть лучше, чем в майнкрафт вполне могу реализовать. Про AI это я уже дальше думаю. Хочется что-то типа майнкрафта, только посолиднее. Кстати Нотч официально отказался поддерживать Oculus Rift из-за присоединения разработчиков к Facebook...

И да - я знаю что клонов майнкрафта сотни. Но хочется не клон - а нечто новое.

Xorex, давай в личке обсудим возможное сотрудничество.

P.S. На сайте гейм-института скидка 50%. Если кто-то интересуется книгами, лекциями другими материалами - рекомендую! Хоть и на английском, но всё понятно написано. (Не сочтите за рекламу)

moka 16.06.2014 15:31

Ответ: Пишем 3D движок - замену Xors3D
 
Модульность движка, и возможность подключить физику - порой бывает весьма сложной задачкой. Возьми тот же Bullet и физика у тебя уже будет на уровне.

AI - это совсем абстрактная и игровая сфера, не относится к рендер движку вообще.

Вообще движки разбивают на слои, более низкие такие как обертка над GAPI и работа с буферами, шейдерами, звуком, физикой, затем идут более абстрактные - граф сцены, материалы, AI, .. - это все фреймворк.

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

Mr_F_ 16.06.2014 20:07

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

такие как обертка над GAPI
Цитата:

Так вот разделить на 2 слоя "обязательно" если ты не хочешь снова все переписывать в будущем.
я тоже так думал, когда писал двиг, но я знал тогда только DX9 и делал всё на нём.
потом столкнулся с задачей перевести всё на DX10, и выяснилось, что движок был к такому не готов, и многая логика работы и архитектура даже между DXами отличается, что уж там говорить о GL :-)
Пришлось вставлять очень много нелепых костылей.
Короче, пока ты не знаешь все GAPI (не писал на каждом что-то завершённое), не имеет смысла заморачиваться со слоями - только много (очень) времени просрёшь на эти никчёмные абстрагирования на "будущее".
Забей на слои, абстракции вообще, просто херачь, будет продуктивнее)

Samodelkin 16.06.2014 20:18

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от Mr_F_ (Сообщение 282896)
я тоже так думал, когда писал двиг, но я знал тогда только DX9 и делал всё на нём.
потом столкнулся с задачей перевести всё на DX10, и выяснилось, что движок был к такому не готов, и многая логика работы и архитектура даже между DXами отличается, что уж там говорить о GL :-)
Пришлось вставлять очень много нелепых костылей.
Короче, пока ты не знаешь все GAPI (не писал на каждом что-то завершённое), не имеет смысла заморачиваться со слоями - только много (очень) времени просрёшь на эти никчёмные абстрагирования на "будущее".
Забей на слои, абстракции вообще, просто херачь, будет продуктивнее)

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

moka 16.06.2014 20:19

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от Mr_F_ (Сообщение 282896)
я тоже так думал, когда писал двиг, но я знал тогда только DX9 и делал всё на нём.
потом столкнулся с задачей перевести всё на DX10, и выяснилось, что движок был к такому не готов, и многая логика работы и архитектура даже между DXами отличается, что уж там говорить о GL :-)
Пришлось вставлять очень много нелепых костылей.
Короче, пока ты не знаешь все GAPI (не писал на каждом что-то завершённое), не имеет смысла заморачиваться со слоями - только много (очень) времени просрёшь на эти никчёмные абстрагирования на "будущее".
Забей на слои, абстракции вообще, просто херачь, будет продуктивнее)

Если для начала - конечно нужен опыт, херачь.
Я не говорю об убер-абстракциях как в том же Ogre. Речь идет тупо о расслоении работы с матрицами и буферами и текстурами, и графа сцены. Если чтобы заменить то как производится работа с математикой - это переписать 90% всего двига, то это уже перебор.

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

Композиция кода должна быть нормальной, не убер-абстрактной, но и не кросс-зависимой по каждому "пуку".

Mr_F_ 17.06.2014 00:12

Ответ: Пишем 3D движок - замену Xors3D
 
Банальный пример:
В DX10-11 есть InputLayout, то же что и VertexDeclaration в DX9, НО если в дх9 он создавался из нескольких руками заданных структур с параметрами, то в 10-11 тебе нужно иметь скомпилированный VS для его создания. Фишка в том, что в 9 на дроуколах много оверхеда была из-за адаптирования вертексдекларации к входной структуре каждого шейдера, а в 10-11 решили оставить это на препроцесс, убрав каждокадровый оверхед.
Вот только у меня в движке декларация ничего не знала о шейдерах, я её вообще считал частью меша (ну типа описывает как парсить VB), а шейдеры существовали где-то в параллельном мире. Пришлось делать костыли.

Второй пример - рендер стейты. В DX9 можно когда попало какие ставить, в 10-11 ты должен заранее создавать блоки стейтов и переключать их целиком. У меня в движке слишком рандомно менялись стейты by design, пришлось вставлять ещё костыль, который в рантайме чекал все стейты, искал в мапе похожие блоки, если не находил - создавал новые.


Часовой пояс GMT +4, время: 02:18.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot