Sicherlich... CHB2 giebt es fx files von 3DGS und und und... man kann ja auch ein Text als fx Datei speichern. Aber wenn ich jetzt mal von den anderen Tools ausgehe sind die fx Files bereits richtig compilert und wenn man sie mit dem Tool FXEdit das dem DXSDK beiliegt prüfen tut Fehlerfrei (wenn man die Texturen und Modele neu zuweist).
Meine Frage war eigentlich nicht: hey schreib mir mal einer schnell einen Shader ich will Doom3 kopieren... sondern ich wollte nur mal Wissen wie es anderen User'n die sich mit Shadern beschäftigen geht und vieleicht ein wenig Hilfestellung, damit ich und andere die sich diesen Thread durchlesen weiter voran kommen, weil denke ich mal darüber nichts im neuen Manual was hoffentlich bald erscheint stehen wird.
Mfg Mpde
Re: Shader über Effect_load
[Re: mpde]
#35268 10/24/0421:0210/24/0421:02
du willst eine Hilfestellung ich kann dir eine geben. Lerne erstmal mit DirectX umzugehen und wie eine Grafikarte aufgebaut ist und wie sie Funktioniert. Lass dir mal den Ablauf erklären wie eine Scene gerendert Wird von Vertex über das Polygone bis hin zum Multitexturing Effekt der FFP und dann schließlich zum fertigen Pixel auf dem Bildschirm. Lerne verstehen wie farben Funktionieren und warum man einen Farbpixel als 4D Vektor angeben kann und und und .... Wenn du wirklich Saderprogrammierung verstehen wilst dann solltest du ich auf eine lange Lehrzeit vorbereiten. Niemand hier wird dir das alles erklären das musst du dir erarbeiten es bringt dir rein Garnichts wenn du Shaderprogrammieren wilst und keine Ahnung von den oben genannten dingen hast.
Zu den X Files. 3DGS Unterstützt seit der letzten Version dank der DirectX 9 Unterstützung sehrwohl die HLSL. Vorher war dies nicht der Fall da es das in DirectX 8 noch nicht gab wobei wir auch hier wieder beim Thema DirectX landen.
Jede Engine stellt bestimmte Informationen wie z.B. das Produkt aus Welt- , View- und Projektionsmatrix. Natürlich brauchst du für Shader auch imense Kenntnisse der 3D Mathematik einfache Winkelfunktionen reichen dir da zu meist nicht mehr aus. Du solltest dich also auch mit:
- Vektorrechungen - Matrizenrechnungen
beschäftigen.
Aber wieder zu den Bereitgestellten Informationen. Jedeengine setzt diese Informationen in eine bestimmte Variable. Diese ist vom benutzer nicht festgelegt wenn jetzt z.B. In der einen Engine bzw. Programm die Variable WorldViewProjection und in der A6 WorldViewProj heist ist das etwas was der Computer nicht erkennen kann also er weiß nicht das damit ein und das selbe gemeint ist.
Aber wie gesagt lern erstmal die einfachen sachen der Programmierung und Mathematik dann lerne Vektorrechnungen und Matrizenrechnungen sowie den Aufbau einer 3D Scene und den kompletten Rendervorgang mit den Verschiedenen abläufen und dann was die Vertexshader machen müssen um die FFP zu ersetzen und ganz zum Schluss wie man mit Shaderversionen un den Registern der Grafikkarte erfolgreiche und erstaunliche Grafikeffekte also Shader programmiert.
Abschliesende Worte.
- Shader ist ein sehr fragwürdige Bezeichnung. Weil sie nicht immer direkt was mit Shading am hut haben. In OpenGL wurde der Name besser gewählt dort heißt es nicht Pixel und Vertexshader sondern ganz allgemein Pixel und Vertexprogramm. Da wir uns hier abermit DirectX beschäftigen und dort dies eben als Shader gilt sollten wir diese Namenskonvetionen auch beibehalten.