1 registered members (TipmyPip),
18,449
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Transparenter Wassershader
[Re: Radolfi]
#32717
09/04/04 00:47
09/04/04 00:47
|
Joined: Oct 2000
Posts: 1,543 Germany
Alexander Esslinger
Senior Developer
|
Senior Developer
Joined: Oct 2000
Posts: 1,543
Germany
|
Nur 32bit TGAs besitzen einen Alpha-Kanal.
PhotoShop besitze ich nicht, daher weiss ich auch nicht genau wie man hier einen Alpha-Kanal hinzufügt, allerdings sollte der Code oben ja jetzt auch funktionieren.
EDIT: Es sollte doch "Modulate" sein  . Du musst noch bei dem DWORD TextureFactor den Alpha-Kanal auf einen entsprechenden wert setzen, also z.b. 80 = 50% Transparenz
|
|
|
Re: Transparenter Wassershader
[Re: Alexander Esslinger]
#32718
09/04/04 01:04
09/04/04 01:04
|
Joined: Jul 2004
Posts: 25 Amberg - Bavaria - Germany
Radolfi
OP
Newbie
|
OP
Newbie
Joined: Jul 2004
Posts: 25
Amberg - Bavaria - Germany
|
Oh... hab mein Profil noch nicht geändert... Ich hab mit vorgestern ne ATI Radeon 9600 Pro gekauft... Is ja gar nicht so teuer des Ding. Mit der alten GForce MX wurde natürlich die normale Model-Textur und nicht der Shader dargestellt (--> Spiel sieht auch auch alten Karten gut aus, wenn die Oberflächen, die mit Shader ausgestettet sind, eine Textur besitzen, denn dann sind sie nicht schwarz sondern mit ihrem Skin versehen... Aber is ja eigentlich klar. Transparent ist das Wasser leider immer noch nicht! Aber vielleicht hab ich deinen Code ja an falscher Stelle eingebaut... Hier nochmal der ganze Shader: Code:
material mtl_ffpwater2 { skin1=waterbump2; skin2=envspec2; skin3=base2;
event = mtl_ffpwater2_init; effect = "
matrix matMtl; texture mtlSkin1; texture mtlSkin2; texture mtlSkin3; technique makewater2 { pass p0 { Texture[0] = <mtlSkin3>; magFilter[0]=linear; minFilter[0]=linear; mipFilter[0]=linear;
TextureFactor = 80; // Alphachannel = Transparent
AlphaOp[1] = Modulate;
AlphaArg1[1] = TFactor;
AlphaArg2[1] = Current;
AlphaOp[2] = Disable;
AddressU[0]=Clamp; AddressV[0]=Clamp;
ColorArg1[0] = Texture; ColorOp[0] = modulate; ColorArg2[0] = diffuse;
alphaop[0]=selectarg1; alphaarg1[0]=texture;
texcoordindex[0]=1; Texture[1] = <mtlSkin1>; magFilter[1]=linear; minFilter[1]=linear; mipFilter[1]=linear; ColorArg1[1] = Texture; ColorOp[1] = bumpenvmap; ColorArg2[1] = current;
TextureTransformFlags[1] = Count2; TextureTransform[1] = <matMtl>; Texcoordindex[1]=1;
Texture[2] = <mtlSkin2>;
magFilter[2]=linear; minFilter[2]=linear; mipFilter[2]=linear;
AddressU[2]=Clamp; AddressV[2]=Clamp;
ColorArg1[2] = Texture; ColorOp[2] = Add; ColorArg2[2] = Current; TextureTransformFlags[2] =count3 | projected; texcoordindex[2]= cameraspaceposition | 1; // For cubemap use: cameraspacereflectionvector }
} technique fallback { pass p0 { } }
"; }
MfG Radolfi
|
|
|
Re: Transparenter Wassershader
[Re: Radolfi]
#32719
09/04/04 01:46
09/04/04 01:46
|
Joined: Oct 2000
Posts: 1,543 Germany
Alexander Esslinger
Senior Developer
|
Senior Developer
Joined: Oct 2000
Posts: 1,543
Germany
|
Du hast den Code falsch abgeschrieben, ausserdem haben noch ein paar States gefehlt. Ich hab ihn jetzt selbst ausprobiert, so funktioniert er: Code:
ZWriteEnable = False; AlphaBlendEnable = True; TextureFactor = 0x80FFFFFF; // Alphachannel = Transparent AlphaOp[1] = Modulate; AlphaArg1[1] = TFactor; AlphaArg2[1] = Current; AlphaOp[2] = Disable;
Einfach die obigen States in den Effekt einfügen. Die Transparenz wird vom dem Alphakanal des DWORDs angegeben, also von dem letzten Byte (oben 80(hex)=128(dez) -> 0x 80FFFFFF).
|
|
|
Re: Transparenter Wassershader
[Re: Radolfi]
#32724
09/04/04 03:23
09/04/04 03:23
|
Joined: Nov 2003
Posts: 1,380 Switzerland; Zurich
Sebe
Serious User
|
Serious User
Joined: Nov 2003
Posts: 1,380
Switzerland; Zurich
|
In Antwort auf:
Liegt wahrscheinlich an meiner Grafikkarte. War sie wohl nicht teuer genug.
Das liegt bestimmt nicht an deiner Grafikkarte... deine hat ja scho DirectX 9.0 und GS hat ja erst 8... du hast Pixel und Vertex Shader 2.0, genau wie die GeForce FX... sogar die neue Radeon X800 XT hat keine besseren Shader als deine 
|
|
|
Re: Transparenter Wassershader
[Re: Radolfi]
#32726
09/04/04 04:59
09/04/04 04:59
|
Joined: Aug 2004
Posts: 122 A small town near Cologne
Elitegunner
Member
|
Member
Joined: Aug 2004
Posts: 122
A small town near Cologne
|
Und, hast du es geschafft das Wasser transparent zu bekommen??? Ich hab auch gerade probleme die Material mat_water {} // Das Wasser-MaterialStarter InitWater(){ Load_Effect(mat_water, "Water.fx");} einzubinden. Wo musst die rein?  Und nen Alpha Kanal krieg ich auch nicht hin da ich nur Photo Impact 6 besitze. Wäre nett die Textur mal zu posten!  Bitte!
|
|
|
|