poniedziałek, 15 stycznia 2007

Shader and MovieTexture

MovieTexture jest węzłem który umożliwia zastosowanie jako tekstury pliku video. BS Contact dodał obsługę shaderów do scen VRML/X3D.
Zrobiłem kilka przykładów jak shadery mogą pełnić funkcję filtrów postprodukcyjnych dla filmów video. Oto przykłady: obraz czarno-biały, kontury na czarnym tle, szarość, kwantyzacja, odwrócenie kolorów, sepia, płaskorzeźba, przebarwienie.


Cała rzecz opiera się na wykorzystaniu HLSL a szczególnie Pixel Shader v 2.
Oto przykładowy kod Pixel Shader odpowiedzialny za tworzenie szarości

sampler2D image : register(s0);
float4 main(
float4 Pos : POSITION,
float2 texCoord: TEXCOORD0) : COLOR
{
float4 img = tex2D(image, texCoord);
// konwersja do szarości
float4 sum = dot(img, float4(0.30f, 0.59f, 0.11f, 0.0f));
sum.a = img.a;
return sum;
}

1 komentarz:

Anonimowy pisze...
Ten komentarz został usunięty przez administratora bloga.