hallo
ich habe angefangen shader zu programmieren und ich wollte mit dx8 anfangen und später dann richtige shader 3.0 shader basteln.
ich habe bumpmapping auf eine textur gelegt und mein problem ist, dass ich bei allen shader, die ich auf level-geometrie habe, es mit ruckeln anfängt, wenn ich weiter weg bin.
mein 2. problem ist, das ich es nicht hinbekomme, dass mein shader für level-geometrie auf dynamische lichter reagiert.
habt ihr irgendwelche tips? bitte helft mir
hier mein code
die shader datei
Code:
var d3d_automaterial = 1;
var d3d_lightres = on;
// Normal-Maps laden
bmap NORMALTEX_1 = <Roof_Template001a_normal.tga>;
// Matrial für Levelblocks
material Roof_Template00
{
skin1 = NORMALTEX_1;
flags = tangent;
}
starter load_bump_fx1()
{
// lade Material für die WAD-Textur "Roof_Template00"
effect_load(Roof_Template00,"bump.fx");
// generiere Mipmap für Dot3-Bump-Mapping
Roof_Template00.skin1 = bmap_to_mipmap(Roof_Template00.skin1);
while(1){
// setze Lichtvektor für Dot3-Bump-Mapping
Roof_Template00.skill1 = pixel_for_vec(vector(Bumpmapping_vec1,Bumpmapping_vec2,Bumpmapping_vec3),100,8888);
wait(1);}
}
die fx datei
Code:
texture mtlSkin1;
texture entSkin1;
texture entSkin2;
dword mtlSkill1; // der Lichtvektor
technique dot3map
{
pass p0
{
Texture[0] = <mtlSkin1>;
Texture[1] = <entSkin1>;
Texture[2] = <entSkin2>;
TextureFactor = <mtlSkill1>;
TexCoordIndex[0] = 1;
TexCoordIndex[1] = 1;
TexCoordIndex[2] = 0;
COLOROP[0] = DotProduct3;
COLORARG1[0] = Texture;
COLORARG2[0] = TFactor;
COLOROP[1] = Modulate2x;
COLORARG1[1] = Texture;
COLORARG2[1] = Current;
COLOROP[2] = Modulate2x;//Add
COLORARG1[2] = Texture;
COLORARG2[2] = Current;
}
}
mfg zSteam