|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 17.03.2004, 23:28 Titel: An die Shader Experten |
|
|
Der folgende Shader, der überings die Terrain Probleme behebt:
Code: | float4 PS(PS_INPUT In) : COLOR
{
float4 BlendController = tex2D(SampAlphaLight, In.Tex0 );
float4 texColor0 = tex2D(SampSand, In.Tex1 );
float4 texColor1 = tex2D(SampGras, In.Tex2 );
float4 texColor2 = tex2D(SampFels, In.Tex3 );
float4 Color0 = (texColor0 * (1.0f-BlendController.r));
float4 Color1 = (texColor1 * (BlendController.r-BlendController.g));
float4 Color2 = (texColor2 * (BlendController.g));
return (Color0 + Color1 + Color2) * (BlendController.b * 0.5f);
}
|
funktioniert nicht mit Pixelshader 1.0, 1.3, wohl aber unter Pixelshader 2.0.
Wenn man die 9. Zeile folgendermaßen ändert:
Code: | float4 Color1 = (texColor1 * (BlendController.r));
|
geht es. Ich weiss nicht warum. Zu viele Instruktionen? Dagegen spricht, wenn ich nur die letzte Zeile anpasse:
Code: | return (Color0 + Color1 + Color2);
|
geht es auch.
C.
[/code] |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 18.03.2004, 09:07 Titel: |
|
|
Zu viele Instruktionen dürften das nicht sein. Es könnte aber sein das der Shader an sich zu komplex füt die PS1.x Versionen ist. Das Problem hatte ich auch ab und zu. Da hilft nur das ganze ein wenig anders zu schreiben.
Wie genau man das am besten anders schreibt kann ich nicht sagen. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
telebeppo Mini JLI'ler
Anmeldedatum: 17.11.2008 Beiträge: 36
Medaillen: Keine
|
Verfasst am: 11.07.2013, 08:43 Titel: |
|
|
Ich hätte auch mal eine Frage an die Shader-Experten. Ich möchte vier Zahlenwerte vom Typ unsigned char mittels dem Vertexshader 1.1 zu drei Zahlenwerten vom Typ float verrechnen lassen. Geht das irgendwie? |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|