В гугле нашёл валом примеров с вращающимся кубом. Но даже такое слишком сложно для моего понимания.
Для начала я хотел бы сделать хотя бы однокомнатный сектор. То есть из имеющихся данных X, Y каждого ребра на карте и позиции/угла поворота камеры расставить точки. Затем эти точки соединить друг с другом линиями, имитируя пол. После чего от каждой точки провести линию вверх,длина которой зависит от удалённости от камеры. И там вверху тоже соединить эти самые линии, имитируя потолок (в общем, как "порт" Дума на калькуляторе Ti).
Кроме того, сложной для меня проблемой является отсечение невидимых линий, а также тех, что оказались за экраном.
Рейкастинг не предлагать. Во-первых, стены получатся только с кратностью 90 градусов.
Во-вторых, я и в него пытался вникнуть, но дальше теории не осиливаю. К тому же мне надо реализовать задуманное на очень ограниченном железе, где у дробных чисел фиксированная запятая (речь про сегу мегадрайв, если что).
П.С. сгодится си-подобный или бейсик-подобный псевдо-код.
Если коротко, то вначале нужно изучить DirectX/OpenGl.
Для общего представления: Михаил Краснов "DirectX Графика в проектах Delphi". Книга старая как говно мамонта (купил еще когда школу заканчивал), но довольна простая и доходчиво описывающая процесс разработки.
Там уже готовые выоскоуровневые ф-ции преобразования матриц.
Да и дх/огл - это аппаратные либы. А речь о софтварном рендеринге.
Мне бы низкоуровневое описание. Начать хотя бы с одной точки в пространстве. Хотя бы с учётом перспективы по одной оси. Простейшую формулу.
Нафег книжке! Нафег! Нихачю!