Могу ли я создать движок плиток в пиксельных шейдерах?

Я пытаюсь создать движок плиток, используя пиксельный шейдер и две текстуры. Одна текстура будет содержать набор тайлов, а другая - карту.

Можно ли считать данные текстуры как фактические (несэмплированные) данные, чтобы я мог извлекать индексы с карты?

Каков наилучший способ прочитать эти данные пикселей?

Я пробовал только text2D, но это оставляет желать лучшего (если честно, я немного новичок в пиксельных шейдерах).

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

Какие-нибудь мысли?

(используя моногаму для метро, ​​поэтому уровень dx 9_1)

1 ответ

Если вы используете tex2D и пройти в (x + 0.5) / width а также (y + 0.5) / height, вы должны получить точное значение пикселя в (x, y), Больше информации здесь: Основы текстуры памяти-tex2D

Другие вопросы по тегам