Могу ли я создать движок плиток в пиксельных шейдерах?
Я пытаюсь создать движок плиток, используя пиксельный шейдер и две текстуры. Одна текстура будет содержать набор тайлов, а другая - карту.
Можно ли считать данные текстуры как фактические (несэмплированные) данные, чтобы я мог извлекать индексы с карты?
Каков наилучший способ прочитать эти данные пикселей?
Я пробовал только text2D, но это оставляет желать лучшего (если честно, я немного новичок в пиксельных шейдерах).
По сути, мне нужен способ прочитать фактические данные из определенного пикселя в моей текстуре карты и использовать их в качестве целочисленного индекса в текстуре плитки. Предположим, мне удалось создать и передать соответствующие текстуры шейдеру.
Какие-нибудь мысли?
(используя моногаму для метро, поэтому уровень dx 9_1)
1 ответ
Если вы используете tex2D
и пройти в (x + 0.5) / width
а также (y + 0.5) / height
, вы должны получить точное значение пикселя в (x, y)
, Больше информации здесь: Основы текстуры памяти-tex2D