Трехмерный графический движок на JS

Хочу написать свой аналог мира майнкрафта. Только граф движок, чтоб рендерился мир с текстурами, никаких там беганий и прыганий, крафта и прочей хрени, просто блочный мир с текстурами и освещением. Цели: понять как вообще такое писать. С чего начать? Где взять первоначальный материал по теме создания граф-движков?

Я понимаю что результат работы подобного на javascript + скажем canvas может быть очень медленным, но задача именно понять каким образом строить картинку и обсчитывать формы объектов и освещение. Мне не нужна в итоге игра, где можно грабить корованы, мне нужен опыт работы с 3d =)
  • Вопрос задан
  • 4213 просмотров
Пригласить эксперта
Ответы на вопрос 6
Начните все-таки с движка.
У three.js огромное сообщество, в разы больше чем у vanilla webGL, и там действительно много подводных камней.
Например — повторяться могут только текстуры с стороной размерностью в степень двойки, иначе — будет растягиваться последняя полоска пикселей. Я это решение гуглил почти полсуток, и нашел именно в обсуждении three.js, webGL-коммьюнити толком и не существует.

Да и на деле он предоставляет просто удобный интерфейс, он похож на jquery по сути. В графическом движке скорее стоит ожидать поддержку определенных тканей, хитрой подсветки или еще чего-то, а тут просто обертка.
Берите three.js. Потом, если захотите, переходите на свой. Но сначала покопайте его.
Ответ написан
Комментировать
CodeByZen
@CodeByZen
php, js, my/mssql, sqlite, html, css, it-consult
Все верно treejs. НО для понимания Вам подойдет вот эта статья. В ней как раз и рассказывается как написать в 100 строк то что Вы хотите.
Ответ написан
Комментировать
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
theshock, например, написал 3D-бегалку на libcanvas (http://libcanvas.github.io/games/3d/)
Думаю, стоило бы обратиться к нему и узнать тонкости :)
Ответ написан
Комментировать
Комментировать
pomeo
@pomeo
Смысл писать с нуля, когда есть хороший пример, код не такой и большой, плюс модульность github.com/maxogden/voxel-engine/blob/master/index.js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы