LINUX.ORG.RU

Как писались 3D игрушки типа DukeNukem3D или Quake, Doom?


3

2

Приветствую, потыкайте носом, где почитать, как писались старые 3D движки типа DukeNukem3D. Не помню, где-то находил, был разбор, как такой движок устроен и были примеры кода, а сейчас вот найти не могу (

★★★★★

По матчасти.

anonymous
()

исходники почитай. У всех трёх в списки сырцы движков валяются в сети.

anonymous
()

Шикин, Боресков - «Компьютерная графика. Полигональные модели», есть про некоторые игры.

unsigned ★★★★
()

Благодарствую, будем посмотреть :)

xterro ★★★★★
() автор топика

У Фленова есть книжка про прграммирование игр под винду, трехмерных. Он там расписывает, как движок простенький создать. Почитай.

Zhbert ★★★★★
()
Ответ на: комментарий от xterro

Мне бы принципы понять, исходники это уже потом.

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

vladmenshikov
()
Ответ на: комментарий от anonymous

линейная алгебра, дискретка, матлогика, вычмат. Вот тебе и принципы.

а дискретка и матлогика тут каким боком? Одной линейной алгебры достаточно

Harald ★★★★★
()
Ответ на: комментарий от Harald

без дискретки к программированию зачастую лучше вообще не подходить. Разве что если нужно написать очередной плеер на пистоне.

anonymous
()
Ответ на: комментарий от anonymous

линейная алгебра, дискретка, матлогика, вычмат. Вот тебе и принципы.

из линейной алгебры там чуть меньше, чем ничего.

Из дискретки тоже нифига нет. Из матлогики... Это что вообще?

И причем тут вычмат?

dikiy ★★☆☆☆
()
Ответ на: комментарий от anonymous

без дискретки к программированию зачастую лучше вообще не подходить.

бред сивой кобылы.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Zhbert

Ужасная книга. Раньше казалась классной, но сейчас читаю и вижу, что говно.

* DirectX вместо OpenGL;

* Идиотизменный ООП в его исполнении;

* быдлокод во все поля;

* манеры писанины соответствующая.

bk_ ★★
()
Ответ на: комментарий от bk_

* DirectX вместо OpenGL;

Это не минус. Тащем-та, общую идею он дает нормальную.

* Идиотизменный ООП в его исполнении;

Кто-то за ООП, кто-то против него. Давай подеремся чтоль страниц на 100?

* быдлокод во все поля;

Местами да. Но главнее там идея, а не код.

* манеры писанины соответствующая.

А пишет он классно, всегда нравилось читать его книги.

Zhbert ★★★★★
()
Ответ на: комментарий от anonymous

из линейной алгебры там чуть меньше, чем ничего.

Огласите весь список, пожалуйста.

список чего? Я могу огласить список того, что из линейной алгебры нужно:

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

На этом линейная алгебра в 3D графике кончается.

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)
Ответ на: комментарий от bk_

а я по Краснову opengl учил. Понравилось.

dikiy ★★☆☆☆
()
Ответ на: комментарий от anonymous

На этом линейная алгебра в 3D графике кончается.

Специалист в треде, все в машину!

если у тебя есть другие данные - прошу в студию.

dikiy ★★☆☆☆
()
Ответ на: комментарий от anatolat

Спасибо, пойду поизучаю исходники 3-го дума :)

unfo ★★★★★
()
Ответ на: комментарий от tensai_cirno

в Wolfenstein Ray Casting, в Думе – Binary Space Partitioning

Это технологии из разных областей. BSP до сих пор используют.

note173 ★★★★★
()
Ответ на: комментарий от anonymous

линейная алгебра, дискретка, матлогика, вычмат. Вот тебе и принципы.

написал человек, никогда игры не писавший

ckotinko ☆☆☆
()
Ответ на: комментарий от dikiy

И причем тут вычмат?

Тсс! Не спугни! Сейчас тут начнут нести чушь о физических движках и методе Рунге-Кутты.

anonymous
()
Ответ на: комментарий от anonymous

Да чего уж там мелочиться? Добавь к списку ТФКП, урматфиз, алгебраическую топологию, аналитическую механику, теорию поля и квантовую механику. Куда ж в играх без этого-то?

anonymous
()

где почитать, как писались старые 3D движки типа DukeNukem3D.

А. Хонич, Как самому создать трёхмерную игру. М., 1996, ISBN 5-88579-006-X

LamerOk ★★★★★
()
Ответ на: комментарий от tensai_cirno

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

anonymous
()

В то время у молодых людей вставало на VGA-монитор. Вот и вся движущая сила.
Сейчас даже IPS 2x2 метра не поможет.

pacify ★★★★★
()
Ответ на: комментарий от dikiy

Из дискретки тоже нифига нет

теория графов, про которую упомянули выше (BSP), это не раздел дискретной математики уже?

anonymous
()
Ответ на: комментарий от mopsene

Что такое 2.5D знаешь?

Только в перечисленном списке 2.5D, 3D и... э... 2.75D :)

KRoN73 ★★★★★
()
Ответ на: комментарий от dikiy

Про шейдеры и освещение слышал? Про рейтрейсинг? Бамп-маппинг? Тесселяция? Множество других страшных слов?

Kosyak ★★★★
()
Ответ на: комментарий от Kosyak

Ну и что же из вышеперечисленного относится к сабжу?

invy ★★★★★
()

я когда-то занимался OpenGL и direct3d, сама отрисовка это лишь операции с матрицами, но BSP порталы и прочее - методы оптимизиации чтобы не рисовать лишнего

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

как правильно тут подсказали, Quake1 был первой полностью 3D игрой без ограничений

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Kosyak

Про шейдеры и освещение слышал? Про рейтрейсинг? Бамп-маппинг? Тесселяция? Множество других страшных слов?

И какое отношениеони имеют к линейной алгебре, простите?

dikiy ★★☆☆☆
()
Ответ на: комментарий от anonymous

Из дискретки тоже нифига нет

теория графов, про которую упомянули выше (BSP), это не раздел дискретной математики уже?

во-первых - если теория графов раздел дискретной математики, то она скорее уж раздел топологии.

Да и самой теории графов в программировании графики опять же чуть менее, чем нисколько.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

Именно. Графы есть, а теории нет. Ничего программисту о графах знать вообще не надо. Надо знать про деревья, хипы, списки и т.п. Читать Кормена. И никакой такой «дискретки» на фиг не надо!

anonymous
()

у кваки вроде был встроенный интерпретатор сиподобного языка, чтобы обходить неумение dll мсдосом

proofit404
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.