Мне было интересно, как реализовать это с помощью openGL:

У меня есть карта, с ровным полом и стенами. Все здесь двухмерное, трехмерной геометрии нет, только двухмерные полигоны, из которых состоит карта.
Используя вершины полигонов, я отбрасываю тени, чтобы определить видимую область.
Тени определяют поле зрения, но поскольку клетки со стенками препятствуют обзору, они также затемняются. Я могу нарисовать стены поверх теней, но при этом будут видны даже стены за пределами поля зрения.
Мне предложили решить эту проблему с помощью карты теней. Я должен визуализировать 2D-сцену в 4 разных 1D-текстуры, которые содержат глубину расстояния до первой сталкивающейся поверхности. Проблема в том, что я понятия не имею, как визуализировать проекцию 2D-сцены в 1D-текстуру. Если я использую, например: gluLookAt (x, y, 0.0, 0.0, x , y+1, 0.0, 0.0, 1.0);
Для рендеринга вида сверху результат по-прежнему 2D. Кроме того, ничего не будет визуализировано, поскольку все вершины будут находиться в одной плоскости, поэтому все поверхности будут ортогональны камере.
Есть ли у вас какие-либо советы или идеи о том, как сделать эти 2D-проекции в 1D? Я искал подобные сценарии в Google, но все они в 3D-среде.