OpenGL - рендеринг туннеля через поверхность? - PullRequest
4 голосов
/ 02 апреля 2019

Для моего проекта в OpenGL я хочу визуализировать серию туннелей через сетку ландшафта.Непосредственная проблема заключается в том, что местность все еще визуализируется внутри туннеля.На данный момент я решаю эту проблему с помощью буфера трафарета, предотвращая рендеринг ландшафта там, где был визуализирован туннель;туннельная сетка является двухсторонней, каждая сторона увеличивает трафаретный буфер на единицу.Только нечетные значения будут препятствовать появлению сетки ландшафта.

Новая проблема состоит в том, что этот метод не заботится о том, находится ли местность внутри или перед туннелем, в результате чего входы в туннель появляются перед любой местностью.Решение может заключаться в рендеринге «концевых заглавных букв» туннелей в буфер глубины, но я выполняю важный рендеринг после прорисовки туннелей и не могу постоянно изменять буфер глубины, как это.

Изменение сетки ландшафта фактическииметь дыры также невозможно, и это повредит динамичному характеру системы местности / туннеля, которую я хочу.Некоторые поверхности рельефа являются динамическими сетками водной поверхности и должны пересчитываться каждый кадр.

enter image description here

...