Мне неизвестна какая-либо платформа WebGL, которая конкретно решит вашу проблему.Я думаю, что вы могли бы потенциально создать сетку с вашими данными глубины, начиная с прямоугольной равномерной сетки и перемещая каждую вершину назад или вперед (ось Z) в зависимости от значения глубины.
Как только вы получитетогда вам нужно сгенерировать массив текстур, и по изображению, которое вы разместили на flickr, я бы сделал вывод, что между изображением глубины и текстурой существует взаимно-однозначное соответствие.Таким образом, создание массива текстур должно быть простым.Вы просто отображаете соответствующую координату (s, t) на текстуре в соответствующую вершину.Таким образом, для каждой вершины у вас есть две координаты в массиве текстур.Затем вы связываете его.
Наконец, вам нужно убедиться, что вы используете текстуру для окрашивания вашего изображения.Это двухэтапный процесс:
Первый шаг: передать координаты текстуры как "attribute vec2
" в вершинный шейдер и сохранить его в переменную vec2.
Второй шаг: вфрагментный шейдер, прочитайте varying vec2
, который вы создали на первом шаге, и используйте его для генерации gl_FragColor
.
Надеюсь, это поможет.