?

Log in

No account? Create an account
18 авг, 2006 @ 12:34 D3D. Clamp

Вопрос - почему при включении clamp'а происходит сдвиг текстурных координат, которые трансформируются по матрице(трансформация проихсодит в шейдере)?
И как с этим бороться?

haruko
timai:
[User Picture Icon]
From:sim0nsays
Date:Август, 18, 2006 06:43 (UTC)
(Ссылка)
Не происходит никакого сдвига. Возможно, дело в необходимой сдвижке на полтекселя.
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:timai
Date:Август, 18, 2006 07:46 (UTC)
(Ссылка)
Есть 3 матрицы. Scale, Transform, Rotate (естессно производятся трансформации, например scale)

далее: matTransform = bias.translate(-0.5,-0.5,-0.5)
* (Scale * Transform * Rotate)
* bias.translate(0.5,0.5,0.5)

далее в шадере: texcoord = mul(float4(original.texcoord,1,1),matTransform)

и все бы хорошо (ну так и есть все работает прекрасно, и скалится и ротатится ровно и четко по центру) только вот стоит включить clamp и получается так как будто без bias, и происходит сдвиг в другую сторону!

В чём причина?
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:aruslan
Date:Август, 18, 2006 13:19 (UTC)
(Ссылка)
Попереключай фильтрацию.
Не забывай, что clamp отрезает до [0;1], а wrap - до [0;1).
При этом при билинейке и выше происходит сдвиг на пол-пикселя.
(Ответить) (Уровень выше) (Ветвь дискуссии)