vulkan: vertex buffer, index buffer, offset



  • hey,

    ich spiele etwas mit vulkan rum und erste Screenerfolge sind sichtbar.
    ich habe folgendes Testszenario erstellt:

    - es existiert ein vertex buffer, in welchem 8 vertexe reinpassen
    - es existiert ein index buffer, in dem 12 indexe reinpassen

    Es wird nämlich empfohlen in einer Vulkananwendung lediglich einen buffer für jeweils einen bestimmten typ zu verwenden, und dort daten, via offsets hineinzuladen.
    ich lade zur Laufzeit, nachdem vulkan (damit auch vertex buffer, index buffer, UBO usw.) und GLFW initialisiert wurden, im Programm 4 vertexe in den VB an offset 0 und 6 indexe im IB an offset 0. Das funktioniert und es wird gezeichnet.

    PROBLEM: Möchte ich jetzt erneut 4 vertexe und 6 indexe dem jeweiligen Buffer hinzufügen (an den jeweils folgenden offsets) wird scheinbar auch alles fehlerfrei hineingeladen, allerdings sehe ich das neue quadrat nicht!
    Die offsets sind korrekt.
    Mir ist bewusst, dass es momentan lediglich ein Texture Image gibt für das erste "Model", allerdings müsste das neue Model dennoch weiß sein, da im fragment shader die Mixfarbe weiß ist.
    Die Hintergrundfarbe ist schwarz. Ich habe sie aber testweise auch mal auf weiß geschaltet, um zu sehen, ob das Quadrat einfach nur schwarz ist. Das neue Quadrat wird nicht gezeichnet!

    FRAGE: Wie realisiere ich Model-instancing, erst einmal nur auf VB und IB Basis?

    Das Projekt ist frei zugänglich:

    main function: http://dycongames.de/download/src_code/fw_main.cpp
    game design: http://dycongames.de/download/src_code/gm_update.cpp
    engine kram: http://dycongames.de/download/src_code/de_core.cpp
    vertex shader: http://www.dycongames.de/download/src_code/shaders/stage.vert
    fragment shader: http://www.dycongames.de/download/src_code/shaders/stage.frag

    Alle Quelldateien sind übrigens in diesem Verzeichnis.

    ------------------------------

    Visual Studio 2015
    GLFW 3.2.1
    irrKlang 1.5.0


Anmelden zum Antworten