

Nadro wrote:I show effect on DOOM 3 model - IMP, effect look identically like DOOM 3, but is free). Of course I update first post for download info;)
float4 lightPosition; // Object Space
float3 eyePosition; // Object space
float4x4 WorldViewProj;
void vsmain(float4 Position: POSITION,
float3 Normal: NORMAL,
float2 Uv: TEXCOORD0,
float3 Tangent: TEXCOORD1,
float3 Binormal: TEXCOORD2,
out float4 oPosition: POSITION,
out float2 oUv: TEXCOORD0,
out float3 oLightDir: TEXCOORD1, // Tangent Space
out float3 oEyeDir: TEXCOORD2, // Tangent Space
out float3 oHalfAngle: TEXCOORD3 // Tangent Space
)
{
oPosition = mul(WorldViewProj, Position);
oUv = Uv;
float3 LightDir = normalize(lightPosition.xyz - (Position * lightPosition.w));
float3 EyeDir = eyePosition - Position.xyz;
float3x3 TBN = float3x3(Tangent, Binormal, Normal);
// Transformacja do Tangent Space
LightDir = normalize(mul(TBN, LightDir));
EyeDir = normalize(mul(TBN, EyeDir));
oLightDir = LightDir;
oEyeDir = EyeDir;
oHalfAngle = normalize(EyeDir + LightDir);
}
float3 LightDiffuse;
sampler2D DecalMap: register(s0);
sampler2D NormalMap: register(s1);
sampler2D SpecularMap: register(s2);
/* Parallax Mapping
uniform sampler2D HeightMap,*/
void psmain(float2 Uv: TEXCOORD0,
float3 LightDir : TEXCOORD1,
float3 EyeDir : TEXCOORD2,
float3 HalfAngle : TEXCOORD3,
out float4 oColor : COLOR)
{
float2 TexCoord;
/* Parallax Mapping
float Height = tex2D (HeightMap, Uv).r;
Height = Height * 0.04 - 0.02;
float3 Eye = normalize (EyeDir);
TexCoord = (Height * Eye.xy) + Uv;
*/
// else
TexCoord = Uv;
float3 Normal = 2.0 * tex2D (NormalMap, TexCoord).rgb - 1.0;
Normal = normalize (Normal);
// Œwiat³o rozproszenia
float3 Diffuse = max (dot (LightDir, Normal), 0.0) * LightDiffuse;
float3 DecalColor = tex2D (DecalMap, TexCoord).rgb;
float3 SpecularColor = tex2D(SpecularMap, TexCoord).rgb;
float Specular = max (dot (HalfAngle, Normal), 0.0);
Specular = pow (Specular, 8.0);
oColor = float4 (DecalColor * Diffuse + Specular * SpecularColor, 1.0);
}Return to Project Announcements
Users browsing this forum: No registered users and 1 guest