Rendering Hardware -Oberfläche (RHI) Methan Graphics RHI-Modul implementiert eine Reihe von öffentlichen objektorientierten Schnittstellen, die die moderne Grafikprogrammierung auf Plattform und API-unabhängige Weise einfach und bequem machen. Tutorials Lernen Sie Methan -Grafik -API mit Hello Triangle Tutorial -Dokumentation und fahren Sie mit anderen fort. Name / Link | Screenshot | Beschreibung |
|---|
| 1. Hallo Dreieck |  | Farbiges Dreieck -Rendering in 100 Codezeilen. | | 2. Hallo Würfel |  | Farbige Würfelwiedergabe in 200 Codezeilen mit Scheitelpunkt- und Indexpuffern. | | 3.. Strukturierte Würfel |  | Textured Cube führt Puffer, Texturen und Sampler mit Phong -Schattierung ein. | | 4. Schattenwürfel |  | Shadow Cube führt ein Multi-Pass-Rendering mit Render-Pässen ein. | | 5. Typografie |  | Die Typografie demonstriert animierte Textrendern mit dynamischen Schriftatlas -Updates mithilfe der Methan -Benutzeroberfläche. | | 6. Cube-Map-Array |  | Cube-Map-Array-Texturierung zusammen mit Sky-Box-Rendering. | | 7. Parallele Rendering |  | Parallele Rendering der strukturierten Cube -Instanzen zum einzigen Renderpass. | | 8. Konsolenberechnung |  | Conways Lebensspiel in Compute Shader und Running in Pure Console Application. |
Proben Methanproben zeigen fortgeschrittene Techniken und Nutzungsszenarien mit komplexerer Implementierung als oben. Proben werden in Form separater Repositorys verteilt. Name / Link | Screenshot | Beschreibung |
|---|
| Asteroiden |  | Benchmark, der parallele Renderbefehle nachweist, die in einem einzigen Renderpass für die große Anzahl heterogener Asteroidenobjekte in mehreren Threads kodieren. |
Merkmale- Plattformübergreifende Anwendungs- und Eingangsklassen : Windows, MacOS und Linux werden unterstützt
- CMake -Module für eine bequeme Anwendungskonfiguration, Hinzufügen von Shadern und eingebetteten Ressourcen
- HLSL-6-Shader, die alle Grafik-APIs bedienen, die in die native Shader-Sprache konvertiert und in Build Time mit Spirv-Cross & DirectXCompiler zusammengestellt wurden
- HLSL ++ Mathematikbibliothek mit HLSL-ähnlichen Syntax in C ++-und Vektor-Instruktionsoptimierungen für verschiedene Plattformen
- Moderne Grafik -API -Abstraktionen : Basierend auf DirectX 12, Vulkan und Metall -APIs
- Status- und Programmkonfiguration mit der Kompaktinitialisierungssyntax rendern
- Programmbindungsobjekte implementieren eine effiziente Bindung von Shaderargumenten an Ressourcen
- Automatische Ressourcenzustandsverfolgung für automatische Ressourcenübergangsbarrieren eingerichtet
- Ressourcen werden automatisch von der Zerstörung beibehalten, während sie bei GPU mit gemeinsamen Zeigern im Befehlslistenstaat verwendet werden
- Verfolgung des Befehlslistenausführungsstatus mit optionaler Abfrage für GPU -Zeitstempel nach Fertigstellung
- Parallel-Render-Befehlsliste für Multi-Thread-Render-Befehle, die im Einzel-Render-Pass codieren
- Ausführung von Multiplen Befehlswarteschlangen in der GPU mit Synchronisation mit Zäunen
- Private GPU -Ressourcen asynchron über die Befehlsliste der Upload und die freigegebene Ressource aktualisiert
- Registrierung benannter Grafikobjekte, die die Wiederverwendung von Renderzuständen und Grafikressourcen zwischen Renderer -Objekten ermöglichen
- Grafikprimitive und -verlängerungen :
- Grafikanwendungsbasisklasse mit Ressourcenverwaltung pro Frame und Frame-Puffer, die die Größe der Größenänderung ermöglichen, effektive dreifache Pufferung zu ermöglichen
- Kamera primitive und interaktive Bogenballkamera
- Verfahrensnetzgenerierung für Quad, Box, Kugel, Icosaeder und Uber-Mesh
- Bildschirm-Quad- und Sky-Box-Rendering-Erweiterungsklassen
- Texturloader (derzeit mit STB implementiert, für den Austausch durch OpenImageo geplant)
- Benutzeroberfläche :
- UI -Anwendungsbasisklasse mit integriertem HUD, Logo -Abzeichen und Hilfs-/Parametern Textplatten
- Typografie -Bibliothek für Schriftarten, dynamische Atlas -Aktualisierung, Textrendern und Layout
- Widgets Library (in der Entwicklung)
- Plattforminfrastruktur :
- Basisanwendung mit Fensterverwaltung und Eingabehandhabung für Windows, MacOS und Linux
- Ereignismechanismus, der Emitter und Empfänger über Rückrufschnittstellen verbindet
- Animationen Subsystem
- Eingebettete Ressourcenanbieter
- Integrierte Debugging- und Profiling -Funktionen :
- Bibliotheksinstrumentierung für die Leistungsanalyse mit Trace -Profiling -Tools
- Debugg -Namen für alle GPU -Objekte und Debugg -Regionen für Grafik -API -Aufforderung zur Verwendung mit Frame -Profiling -Tools
- Kontinuierliche Integration mit automatisierten Multi-Plattform-Builds, Einheiten-Tests und SONAR-Cloud-statische Codeanalyse in Github-Aktionen
Detaillierte Funktionen Beschreibung und Entwicklungspläne finden Sie in der Dokumentation der Module. Unterstützte Entwicklungstools Entwicklungsumgebungen 
- Microsoft Visual Studio 2019
- Lösungen und Projekte erstellen (mit Build/Window/Build.bat generieren)
- CMAKE Native Build Support (vorkonfiguriert mit cMakePresets.json)
- Apple Xcode
- Xcode -Arbeitsbereich und Projekte (mit Build/Unix/Build.sh generieren)
- Microsoft vs Code und GitPod (vorkonfiguriert mit cmakePresets.json und .vscode/setting.json)
- Jet Brains Clion (vorkonfiguriert mit .Idea)
- QT -Schöpfer mit Cmake Native Support
Das Methan -Kit wird mit Unterstützung von Tools für die Entwicklung von Jethirnentwicklungen entwickelt. Die Open -Source -Projektentwicklungslizenz wird allen wichtigen Mitwirkenden des Methan -Kit -Projekts kostenlos zur Verfügung gestellt. Statische Codeanalyse Das Methan-Kit verfügt über eine kontinuierliche Analyse von C ++ statischer Code und Codeabdeckung, die als Teil der automatisierten CI-Scan-Builds mit aktuellen Ergebnissen für alle unterstützten Plattformen separat veröffentlicht wird. | Master -Scan -Ergebnisse | Fenster | Macos | Linux |
|---|
| SCAN -Build -Status | | | | | Qualitätstor | | | | | Wartbarkeit | | | | | Zuverlässigkeit | | | | | Sicherheit | | | | | Technische Schulden | | | | | Käfer | | | | | Schwachstellen | | | | | Code riecht | | | | | Doppelte Linien | | | | | Testsabdeckung | | | | | Codezeilen | | | |
Trace -Profiling -Werkzeuge Das Methan -Kit enthält eine integrierte Instrumentierung aller Bibliotheken für die Leistungsanalyse mit Trace -Sammlung unter Verwendung der folgenden Tools. Weitere Informationen zu Trace Collection -Anweisungen und zugehörigen Build -Optionen finden Sie im Methan -Instrumentierungsdokument. | Tracy Frame Profiler | Intel Graphics Trace Analyzer |
|---|
 |  |
Rahmenprofilerstellung und Debugging -Tools- Intel Graphics Frame Analyzer
- Apple Xcode Metal -Debugger
- Renderdoc
- Microsoft Pix
- Nvidia NSIGHT GRAPHICS
Externe Abhängigkeiten- Bibliotheken
- Werkzeuge erstellen
- Vermögenswerte
Lizenz Das Methan -Kit ist unter Apache 2.0 -Lizenz verteilt: Es kann kostenlos verwendet werden und für Beiträge geöffnet! Copyright 2019-2022 © Evgeny Gorodetskiy
Expandieren
Zusätzliche Informationen
Ähnliche Nachrichten
Alle
|