🔥

Тред (Михаил Рахманов)


Про 3д движки хотел чуть ссылок накидать без слишком большого количества историй. Вдруг кто-то захочет попробовать) Опять же меня затянуло недели на 3-4, но потом появилась возможность делать интересные штуки на Го и я опять переключился

Вообще когда хочешь сделать 3д движок, то выбор не такой уж большой - это либо Vulkan (слишком замороченно), либо OpenGL (уже особо не используется), либо DirectX (у меня нет винды), либо Metal. Есть еще готовые движки типа Ogre3D, но это скорее, если сразу игру хочешь делать.

Под Metal можно писать соответственно на Свифте или Objc. Есть еще бридж github.com/naleksiev/mtlpp для плюсов, который я использовал, потому что хотел на плюсах писать, его кстати в чуть измененном виде использует Unreal Engline.

В плане каких-то вменяемых примеров на метале есть, например, developer.apple.com/documentation/…. Его можно использовать в качестве референса.

Среди книжек про сам метал (апишку) есть warrenm.gumroad.com/l/metalbyexamp… вполне норм, хоть и немного старая. Книжка RayWenderlich мне не особо зашла.

В качестве каких-то более наглядных примеров есть вполне адекватный канал - youtube.com/channel/UCh1CH…, там можно какие-то детали посмотреть про пайплайны итп.

Чтобы разобраться в математике вполне ок книжка - 3D Math Primer for Graphics and Game Development (gamemath.com/book/intro.html). Она без труда также ищется на просторах рунета.

Наверное, самое сложное в построении движка - понять какие компоненты чем занимаются. И как вообще все это объединить архитектурно. Тут, наверное, на любителя, мне показалась ок книжка Game coding complete 4th edition (также легко найти)

Еще последний совет - если будете делать движок, то опять же, если не очень много времени, то лучше найти компаньона, так как это трудозатратно

Михаил РахмановМихаил Рахманов