PDA

Просмотр полной версии : agal шейдер и uv-координаты


hvostoblud
06.03.2012, 14:28
Здравствуйте. Я в шейдерах новичок, пытаюсь разобраться.
Имеется самый простой вертексный шейдер

m44 op, va0, vc0
mov v0, va1

и самый простой фрагментный

tex oc, v0, fs0 <2d, repeat, nearest, mipnearest>

Пройдясь по фрагментному шейдеру дебагом получил значения регистра v0 для разных пикселей(для текстуры 256х256):
(0,0) = (0.002, 0.002, 0.000, 1.000)
(1,1) = (0.006, 0.006, 0.000, 1.000)
(2,2) = (0.010, 0.010, 0.000, 1.000)
...
(255,255) = (0.998, 0.998, 0.000, 1.000)

Собственно вопрос в том, что за данные попадают в v0.xy? Это интерполированые исходя из uv координат вертексов uv координаты конкретного пикселя?

Котяра
06.03.2012, 14:47
Обрамляйте код тегами as3. Даже для другого языка - выглядит лучше.

-De-
06.03.2012, 14:57
Это интерполированые исходя из uv координат вертексов uv координаты конкретного пикселя?
У вертексов нет uv координат, но похоже поняли правильно. Да, это uv координаты конкретного пикселя.

hvostoblud
06.03.2012, 15:10
Тогда почему пиксель 0,0
(0,0) = (0.002, 0.002, 0.000, 1.000)

Это что округленная ширина одного пикселя деленная на 2 в переводе в uv?

-De-
06.03.2012, 18:31
Да, это полпиксела.