Problem mit Vertex Shader



  • Hallo zusammen, ich bin gerade dabei, meinen ersten VertexShader zu programmieren und stosse bereits an scheinbar unüberwindbare Hindernisse:

    // create the shader - code
     char strShdCod[] = {
      "vs.1.1\n"
      "mov oPos, v0\n"
     };
    

    Dieser Code erzeugt den folgenden Fehler:
    (2): error X5326: Read of uninitialized components(*) in v0: *x/0 *y/1 *z/2 *w/3

    Was soll denn dass?
    Ich verwende DirectX 9.0



  • Bin einen Schritt weitergekommen. Anscheinend muss man ab DirectX 9.0 die Vertexdeklaration im Shader selbst wiederholen:

    // create the shader - code
     char strShdCod[] = {
      "vs.1.1\n"
      "dcl_position v0\n"
      "mov oPos,v0\n"
      "mov oPos.w,c0.x"
     };
    


  • Aber weiss vielleicht wenigstens jemand von euch, wie ich einen fixen Wert setzen kann?

    So gehts auf jedenfall nicht:

    mov oOut.w, 1.0
    


  • Habs rausgefunden: Es gibt einen Befehl namens "def"! Leider hat der Autor meines Schrottbuches diesen Befehl einfach nicht in seiner Liste erfasst! 🙄



  • Also irgendwie raff ich dass nicht, so muss doch auf jeden Fall ein Punkt auf dem Bildschirm erscheinen, wieso geht denn das nicht, verflucht noch mal:

    // create the shader - code
     char strShdCod[] = {
      "vs.1.1\n"
      "def c0,5.0,5.0,1.0,10.0\n"
      "mov oPos,c0\n"
      "mov oPts,c0.w\n"
     };
    

    Hei, vielleicht kriege ich ja mal eine Antwort oder so? 😉
    So wie ihr immer redet, seid ihr doch die Shader Profis!
    Oder war das immer nur heisse Luft?

    Gruss Ishildur


  • Mod

    Ishildur schrieb:

    Hei, vielleicht kriege ich ja mal eine Antwort oder so? 😉
    So wie ihr immer redet, seid ihr doch die Shader Profis!
    Oder war das immer nur heisse Luft?

    vielleicht waren wir einfach auch nur zu nett um zu fragen wieso du dir nicht die grundlegendesten dinge die überall rumstehen selbst aneignen kannst... aber ich werd mal, bevor die bösen antworten einsetzen, den thread abschotten.


Anmelden zum Antworten