@alkolove1

Как сделать простейший софверный 3д движок?

В гугле нашёл валом примеров с вращающимся кубом. Но даже такое слишком сложно для моего понимания.
Для начала я хотел бы сделать хотя бы однокомнатный сектор. То есть из имеющихся данных X, Y каждого ребра на карте и позиции/угла поворота камеры расставить точки. Затем эти точки соединить друг с другом линиями, имитируя пол. После чего от каждой точки провести линию вверх,длина которой зависит от удалённости от камеры. И там вверху тоже соединить эти самые линии, имитируя потолок (в общем, как "порт" Дума на калькуляторе Ti).
Кроме того, сложной для меня проблемой является отсечение невидимых линий, а также тех, что оказались за экраном.

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

П.С. сгодится си-подобный или бейсик-подобный псевдо-код.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 3
usdglander
@usdglander
Yipee-ki-yay
Вот тут есть вся необходимая математическая база с примерами кода. Книга большая, но если вам очень нужно, то думаю вас это не остановит.
Ответ написан
Комментировать
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Если коротко, то вначале нужно изучить DirectX/OpenGl.
Для общего представления: Михаил Краснов "DirectX Графика в проектах Delphi". Книга старая как говно мамонта (купил еще когда школу заканчивал), но довольна простая и доходчиво описывающая процесс разработки.
Ответ написан
Ваш ответ на вопрос

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

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