P
Hi,
wow, vielen Dank.
ich hab mich jetzt noch mal in die Thematik bezüglich Material detaillierter eingearbeitet.
Aber jetzt ist mir das ganze klarer. Also ich werde nun nur noch den Renderer in ein Interface packen und den Rest entkoppeln. Die Vertex Struktur werde ich dann von den Vulkan Methoden komplett entkoppeln. So mache ich aus der Struktur Vertex eine Klasse VulkanVertex mit den methoden setVertex(...), getVertex(), getBindingDescription() und getAttributeDescriptions(). Die eigentliche Vertex Klasse konstruiere ich API unabhängig. Diese hat nurnoch die reinen Vertices und Color trenne ich dann auch komplett vom Vertex.
Ehrlich gesagt hab ich mir, dass jetzt in der Hinsicht alles ein wenig komplizierter vorgestellt, weil ich dachte, dass jeder Hersteller (OpenGL, Vulkan, DirectX) sein eigenes Süppchen kocht. Ich vermute deshalb mal, dass generell die einzelnen API's jetzt nicht so unterschiedlich sind, wegen der Render Pipeline Architektur der Grafikkarten.
Naja wie gesagt, ich muss mir da aber noch ein paar Gedanken machen, wie ich das am besten aufteile in die Klassen. Ich denke es ist besser wenn man sich am Anfang Gedanken über die Softwarearchitektur macht, als wenn es dann im späteren Verlauf Probleme gibt und außerdem hab ich ja Zeit. Mir läuft die Zeit ja nicht davon, bin in Sachen Grafikprogrammierung eh noch aktuell ein Rookie
Vielen Dank für die Buchempfehlung, mir geht es hauptsächlich wie gesagt um Pointer und Polymorphie. Aber ein Cpp Buch wäre generell mal ganz gut auch als Nachschlagewerk.
Gruß
Dennis