Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

MannyDasMammut

Treue Seele

  • »MannyDasMammut« ist der Autor dieses Themas

Beiträge: 76

Wohnort: Baden - Würtemberg / Achern

Beruf: Schüler

  • Private Nachricht senden

1

18.06.2004, 12:17

Problem mit Shader Code

Ich habe ein Problem mit meinem Shader. Der Shader Soll eine Konstante Farbe in die Textur schreiben und dann den Alphkanal aus einer Quelltextur hineinschreiben.

Quellcode

1
2
3
4
5
6
7
8
9
10
;Pixelshaderversion
ps.1.1

tex t0

;Konstante Farbe in Register schreiben
mov r0.rgb,c0.rgb

; Alphakanal kopieren
mov r0.a,t0.a


Das funktioniert aber nicht die Oberfläche ist nur komplett weiß.

Die Shaderkonstante C0 ist wie folgt gesetzen

Quellcode

1
Device->SetPixelShaderConstant(0,D3DXVECTOR4(0.0f,0.0f,1.0f,1.0f),1);



Schreibe ich den Shader aber so:

Quellcode

1
2
3
4
5
6
7
8
9
10
;Pixelshaderversion
ps.1.1

tex t0

;Konstante Farbe in Register schreiben
mov r0.rgba,c0.rgba

; Alphakanal kopieren
mov r0.a,t0.a


Dann funktioniert auf Mysteriöse weiße alles. Ich frage mich jetzt wieso das anderst nicht funktioniert.


Weiß einer eine Lösung. Denn bei komplexeren Shadern ist das doch nervig.
Werde ich hier eigentlich noch gebrauch ansonsten würd ich gerne nach Hause gehen und meine graue Wand anstarren.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

23.07.2004, 12:30

ich weis, is länger her...

Zitat von »"dx sdk doku"«

Write masks control which channels (red, green, blue, alpha) are updated in the destination register.


damit sollte alles klar sein...

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

3

23.07.2004, 14:52

das swizzeling in fall 1 ist einfach nicht erlaubt. probier mal ob es so geht:

Quellcode

1
2
3
4
5
6
7
8
9
ps.1.1 

tex t0 

;Konstante Farbe in Register schreiben 
mov r0.rgb,c0

; Alphakanal kopieren 
mov r0.a,t0.a


ansonsten halt:

Quellcode

1
2
3
4
5
6
7
8
9
ps.1.1 

tex t0 

;Konstante Farbe in Register schreiben 
mov r0,c0

; Alphakanal kopieren 
mov r0.a,t0.a

Werbeanzeige