Я пытаюсь использовать 3D-текстуры для текстуры моего случайно сгенерированного ландшафта. Я хочу иметь много разных текстур местности, которые смешиваются между разными областями. Я не могу понять, какая часть текстуры будет зацикливаться на координате R. Если я устанавливаю его на 0.0, тогда он дает смесь текстуры до 1.0 и после 0.0. Кажется, у него есть несколько моментов, когда они вообще не смешиваются. Как координата R (float) работает с глубиной 3D-текстуры? (IE глубина делится на что-то, помноженное на что-то и т. Д.)Как координата R (float) выбирает, какую часть 3D-текстуры использовать? (OpenGL)
Пример того, что мне нужно, чтобы понять это: У меня есть трехмерная текстура, которая представляет собой изображение 128x512. Первый 128x256 - текстура травы. Вторая половина - текстура грязи. Я обрабатываю текстуру, как будто это 4 128x128 плитки, поэтому глубина равна 4. Какую математику я могу сделать, чтобы узнать координату float R для текстуры сплошной травы? Какую математику я должен сделать, чтобы найти начальные/конечные плавающие координаты R для смешивания от грязи к траве?
Любая помощь приветствуется!
Я не уверен, что текстурные массивы также позволят мне сделать это легко, но основная причина, по которой я использую 3D-текстуры, - это то, что я могу легко смешивать различные текстуры. Смешать между плитки 1 и плитки 2 все, что мне нужно сделать, является интерполяция между 1/(глубина * 2) - 2/(глубина * 2). До сих пор я не заметил никаких артефактов, но если я увижу то, что не могу исправить, я обязательно буду помнить ваше предложение. Благодаря! – Barakat