Einleitung
Mein Name ist Christoph Glahn. Ich bin C# Programmierer und wie meine Initialen vielleicht schon vermuten lassen, Computer-Graphik Hobbyist. ;-)
In diesem Blog möchte ich meine stetig wachsende 3D Computergraphik-Library vorstellen. Sie ist in C# Geschrieben und verwendet SharpDX , einen DirectX-Wrapper für C#.
Bei Gelegenheit werde Links zu entsprechenden Tutorials der angesprochenen Themen anbieten.
Alte Versionen
Bevor ich auf den aktuellen Stand der Library eingehe möchte ich ein paar ältere Demos zeigen. Sie alle basieren auf einer einfachen Forward-Rendering-Pipeline welche aus einem Vertex Shader pro Objekttyp und einem gemeinsamen Pixel Shader für die Beleuchtung der Szene bestehen.
Der Pixel Shader unterstützt Ambient-, Directed-, Point-, und Spotlights sowie Fog und Texturierte Oberflächen mit Color- und Normal Maps. Außerdem ist es unter Verwendung der ASSIMP-Library möglich Mesh-Daten in verschiedenen bekannten Formaten zu laden.
Dieses Video demonstriert das Laden von Objekten mit Hilfe der ASSIMP Library.
Dieses Video zeigt meine ersten Experimente mit prozeduralem Planet-Rendering unter Verwendung der Open-Simplex-Noise Library.
Dieses Video zeigt meine ersten Experimente mit PhysX.net, einem .Net-Wrapper für die Nvidia PhysX API.
Dieses Video demonstriert die hierarchische Organisation von Grafikobjekten, wobei sich jedes Objekt in Relation zu seinem Elter bewegt.
Plasmaoberfläche, viellecht die Korona einer Sonne, nur so zum Spass, erzeugt durch ein animiertes Height-Field einer Cellular-Noise-Funktion.
Noch ein Height-Field. Die hellgrünen Punkte sollten Vegetationspositionen weden, funktioniert noch nicht richtig. Aber ich habe den Sourcecode leider verschlampt, so daß ich es nicht mer fertigstellen kann.
Neueste Version
Die neueste Version meiner Graphik Library arbeitet mit einer experimentellen, lose zusammengesetzten Deferred-Shading Pipeline welche bereits einige Shading und Postprocessing Passes unterstützt.
Beispielsweise:
- Sky-Boxes
- Screen Space Ambient Occlusion (SSAO)
- Blur
- Bloom
Das neue PBR-Material System unterstützt Color, Metallic, Rughness, Normal, und Displacement Maps nach dem Parallax Mapping Verfahren, sowie Environment Maps. Beim Shading werden bekannte Lichtquellentypen wie Ambient, DIrected-, Point- und Spotlight unterstützt.
Hier einige Texturbeispiele. Man sieht sehr schön, das Parallx und Environmen-Mapping.
Dieses Video zeigt sehr schön die Auswirkungen des SSAO-Shaders der neuen Deferred Shading Pipeline
Auch wenn die Lichtquelle hinter dem Objekt verschwindet und somit keinen Beitrag zu dessen Schattierung leistet bleibt die Oberfläche plastisch..
Nochmal due PhysX-Cubes mit der neuen Renderpipeline.
Dieses Video demontriert den Einzatz vieler Lichtquellen mit der Deferred Shading Pipeline.
Ein Wald, mit Geometry-Instancing.
...
Links: