Indexed vertex blending - Problem



  • Hallo,

    ich suche seit zwei Tagen meinen Fehler beim vertex blending. Es wird alles absolut korrekt dargestellt, aber die Debug-Runtimes von Direct3D schmeißen mir folgenden Fehler hin:

    [2616] Direct3D9: (INFO) :HalDevice Driver Style 9
    [2616]
    [2616] Direct3D9: (INFO) :Failed to create driver indexbuffer
    [2616]
    [2616] Direct3D9: (INFO) :Failed to create driver indexbuffer
    [2616]
    [2616] Direct3D9: (ERROR) :The number of blend weights in the FVF should match what is set in D3DRS_VERTEXBLEND for indexed vertex blending

    Gehe ich richtig davon aus, dass mit FVF das Vertex-Format gemeint ist? Wenn ich mein Model in das SimpleAnimation-Sample hereinlade, wird es ohne Fehlermeldung gerendert, das Vertexformat der Meshes ist dabei

    PositionNormal | LastBetaUByte4 | Texture1 | Transformed
    

    (Zahlenwert ist 4374). Der VertexBlend-Renderstate ist auf ZeroWeights gesetzt. In meinem Programm sind diese Werte genauso und trotzdem stürzt es ab.

    Suche ich an der falschen Stelle? Ich bin wirklich einigermaßen ratlos, weil ich teilweise schon versucht habe, große Teile aus dem Sample-Code einfach zu übernehmen, der die meisten Dinge aber nur geringfügig anders macht als ich. Trotzdem bleibt der Fehler. Das Laden der Hierarchie aus dem .x-File mache ich sogar genau gleich, ich sehe da auch nicht so viele Variationsmöglichkeiten. Insgesamt sind es bis zur Darstellung auf dem Bildschirm ein paar hundert Zeilen code und da ich jetzt wirklich keinen Plan mehr habe, wo der Fehler stecken könnte, würde ich dann den betreffenden Code posten, wenn euch was bestimmtes interessiert. Wie gesagt, ich weiß nicht, wo ich den Fehler suchen soll. 😞



  • Wie ich soeben durch reinen Zufall herausgefunden habe, tritt dieses Problem nur mit CreateFlags.SoftwareVertexProcessing auf, dann sogar im Sample vom SDK. Allerdings auch wieder nur mit meinem Model und nicht mit dem mitgelieferten. Kann es also am Model liegen? Ich hätte eigentlich schon gedacht, dass es in Ordnung sein muss, wenn ich es mit mview abspeichere. Und ist es jetzt möglich, dass bei HardwareVertexProcessing der Fehler den Debug-Runtimes nur nicht mehr auffällt, aber eigentlich immer noch vorhanden ist?


Anmelden zum Antworten