DirectX Schwarz Weiß

FSA

Erfahrenes Mitglied
Hallo
Ich möchte gerne mit DirectX 9 alles in schwarz weis rendern. Möglichst mit einem State den es soll nur so lang sein bis der user eine taste drückt dann wieder alles wieder in Frabe gerendert.
Danke
 
Hi

kA, ob sowas eingebaut ist, aber hast du schonmal an einen Shader gedacht?

Soll es wirklich hart Schwarz/Weiss werden, oder Grautöne?
 
Grautöne gehen auch
Habe da so ne Formel gefunden: Gray= 0.3 * RED + 0.6 * GREEN + 0.1 * BLUE
 
Zuletzt bearbeitet:
Wie man das schönste Grau berechnet ist nicht das Problem.
Die Berechnung kann man ja später noch immer leicht ändern.

Die Methode zum Einbringen der Formel ist jetzt eher interessant.
Also, wie schauts bei dir mit HLSL aus?
Gute Kenntnisse/Wenig Kenntnisse/Sagt dir gar nichts?
 
Also HLSL ist ja nicht unbedingt mein Fall.
ich weis nicht ob in fx dateien auch HLSL geschrieben wird aber muss man mit Shadern arbeiten? Ich mag die einfach nit -.-
 
Zuletzt bearbeitet:
muss man mit Sahdern arbeiten?
Wäre sehr empfehlenswert.
Es geht anders auch, aber der Geschwindigkeit deines Programms zuliebe solltest du dem Hauptprozessor nicht ca. 60 Millionen Pixel in der Sekunde zumuten.
Mit mehreren FP-Ops pro Pixel frisst das verhältnismäßg viel Leistung.

So schwer ist es doch gar nicht.
Vertexshader kann die Daten unverändert weitergeben.
Pixelshader nimmt die drei Farbteile R/G/B und verrechnet sie in deiner Grauformel.
Fertig.
 
Ähm ok und wie render ich denn damit?
Bin noch neu in Vertex und PixelShader.
Gibts da ein Beispiel?
iSt das auch so:
Code:
TECHNIQUE 1
{
Pass1
{...}
Pass2{...}
}
?
Gibt es auch einfach eine Methode die aus einem Bild ein Graustufen bild macht möglichst mit übergang?
Denn es soll im Menü der Hintergrung Schwarz weis werden und im Vorder grung bunt das Menü
 
Zum Code: Ja, sowas ist das.
Grundlagentutorials gibts einige, und sowas wie Graustufen ist ein häufiges Beispiel.

Zum Lesen kann ich Riemers Seite empfehlen:
http://www.riemers.net/eng/Tutorials/XNA/Csharp/series3.php
(Navi rechts)
Da gehts zwar um C# als Hauptsprache, HLSL ist aber trotzdem das Gleiche.

Zu dem farbigen Menü: Man kann für jedes gezeichnete Etwas separat bestimmen, welcher Shader genommen werden soll. Also Hintergrund mit dem und Menü einfach ohne bzw. einem anderen.
 
Ok
Habe jetzt diese Seite gefunden http://kstudios.de/postprocessing2_2.php
ist das ok für Shader?Allerdings weis ich dann noch nicht wie ich das machen soll aslo shader programmieren auf der Website von dir werde ich nicht schlau -.-
Nehemn wir mal an ich habe jetzt einen Shader wie rendern ich mit dem ich kapier das einfach nicht?
Vll mit SetRenderSate(&Sahder) oder so?
Danke
 
Zuletzt bearbeitet:
Zurück