อินเทอร์เฟซการแสดงผลฮาร์ดแวร์ (RHI) Methane Graphics โมดูล RHI ใช้ชุดอินเทอร์เฟซเชิงวัตถุสาธารณะซึ่งทำให้การเขียนโปรแกรมกราฟิกที่ทันสมัยง่ายและสะดวกในแพลตฟอร์มและ API อิสระ บทเรียน เริ่มเรียนรู้ Methane Graphics API ด้วยเอกสารการสอน Hello Triangle และดำเนินการต่อกับผู้อื่น ชื่อ / ลิงค์ | ภาพหน้าจอ | คำอธิบาย |
|---|
| 1. สวัสดีสามเหลี่ยม |  | การแสดงผลสามเหลี่ยมสีในรหัส 100 บรรทัด | | 2. สวัสดีคิวบ์ |  | การแสดงผลลูกบาศก์สีในรหัส 200 บรรทัดพร้อมจุดสุดยอดและดัชนีบัฟเฟอร์ | | 3. คิวบ์พื้นผิว |  | Textured Cube แนะนำบัฟเฟอร์พื้นผิวและการใช้งานตัวอย่างด้วยการแรเงาพงษ์ | | 4. Shadow Cube |  | Shadow Cube แนะนำการแสดงผลหลายครั้งด้วยการแสดงผล | | 5. ตัวอักษร |  | ตัวอักษรแสดงให้เห็นถึงการแสดงข้อความภาพเคลื่อนไหวด้วยการอัปเดตแบบฟอนต์แบบฟอนต์แบบไดนามิกโดยใช้ Methane UI | | 6. อาร์เรย์ Cube-Map |  | Cube-Map อาร์เรย์พื้นผิวพร้อมกับการเรนเดอร์กล่องท้องฟ้า | | 7. การแสดงผลแบบขนาน |  | การแสดงผลแบบขนานของอินสแตนซ์ลูกบาศก์พื้นผิวไปยังการเรนเดอร์เดียว | | 8. คอนโซลคำนวณ |  | Game of Life ของ Conway นำไปใช้ในการคำนวณ Shader และทำงานในแอปพลิเคชันคอนโซลบริสุทธิ์ |
ตัวอย่าง ตัวอย่างมีเธนแสดงให้เห็นถึงเทคนิคขั้นสูงและสถานการณ์การใช้งานที่มีการใช้งานที่ซับซ้อนกว่าบทช่วยสอนด้านบน ตัวอย่างมีการกระจายในรูปแบบของที่เก็บแยกต่างหาก ชื่อ / ลิงค์ | ภาพหน้าจอ | คำอธิบาย |
|---|
| ดาวเคราะห์น้อย |  | เกณฑ์มาตรฐานแสดงให้เห็นถึงคำสั่งเรนเดอร์แบบขนานที่เข้ารหัสในการเรนเดอร์ครั้งเดียวสำหรับวัตถุดาวเคราะห์น้อยจำนวนมากที่ประมวลผลในหลายเธรด |
คุณสมบัติ- รองรับ แอปพลิเคชันข้ามแพลตฟอร์มและคลาสอินพุต : Windows, MacOS และ Linux ได้รับการสนับสนุน
- โมดูล CMAKE สำหรับการกำหนดค่าการสร้างแอปพลิเคชันที่สะดวกเพิ่มการเพิ่มเฉดสีและทรัพยากรฝังตัว
- HLSL-6 shaders ที่ให้บริการกราฟิก APIs ทั้งหมดที่แปลงเป็นภาษา shader พื้นเมืองและรวบรวมในเวลาสร้างด้วย spirv-cross & directxcompiler
- ห้องสมุด คณิตศาสตร์ HLSL ++ พร้อมไวยากรณ์เหมือน HLSL ใน C ++ และการเพิ่มประสิทธิภาพการสอนแบบเวกเตอร์สำหรับแพลตฟอร์มที่แตกต่างกัน
- กราฟิกที่ทันสมัย API abstractions : ขึ้นอยู่กับ DirectX 12, Vulkan และ Metal APIs
- แสดงสถานะและการกำหนดค่าโปรแกรมด้วยไวยากรณ์การเริ่มต้นแบบกะทัดรัด
- วัตถุที่มีผลผูกพันโปรแกรมใช้การเชื่อมโยงอย่างมีประสิทธิภาพของอาร์กิวเมนต์ shader กับทรัพยากร
- การติดตามสถานะทรัพยากรอัตโนมัติที่ใช้สำหรับการตั้งค่าอุปสรรคการเปลี่ยนทรัพยากรอัตโนมัติ
- ทรัพยากรจะถูกเก็บไว้โดยอัตโนมัติจากการทำลายขณะใช้งานบน GPU ด้วยตัวชี้ที่ใช้ร่วมกันในสถานะรายการคำสั่ง
- รายการคำสั่งการติดตามสถานะการดำเนินการด้วยการสืบค้นเวลา GPU Timestamps ที่เป็นตัวเลือกเมื่อเสร็จสิ้น
- รายการคำสั่ง render แบบขนานสำหรับคำสั่ง render แบบมัลติเธรด
- การดำเนินการคิวคำสั่งหลายครั้งบน GPU ด้วยการซิงโครไนซ์โดยใช้รั้ว
- ทรัพยากร GPU ส่วนตัวอัปเดตแบบอะซิงโครนัสผ่านรายการคำสั่งอัปโหลดและทรัพยากรที่ใช้ร่วมกัน
- รีจิสทรีของวัตถุกราฟิกที่มีชื่อช่วยให้นำสถานะเรนเดอร์กลับมาใช้ใหม่และทรัพยากรกราฟิกระหว่างวัตถุเรนเดอร์
- กราฟิกดั้งเดิมและส่วนขยาย :
- กราฟิกแอปพลิเคชันคลาสฐานที่มีการจัดการทรัพยากรต่อเฟรมและบัฟเฟอร์เฟรมที่ปรับขนาดเปิดใช้งานการบัฟเฟอร์สามครั้งที่มีประสิทธิภาพ
- กล้องดั้งเดิมและกล้องอาร์คบอลแบบอินเทอร์แอคทีฟ
- การสร้างตาข่ายขั้นตอนสำหรับรูปสี่เหลี่ยม, กล่องทรงกลม, icosahedron และ uber-mesh
- ชั้นเรียนส่วนขยายการแสดงผลแบบควอ
- Texture Loader (ปัจจุบันใช้กับ STB ซึ่งวางแผนไว้สำหรับการแทนที่ด้วย OpenImageio)
- ส่วนต่อประสานผู้ใช้ :
- คลาสฐานแอปพลิเคชัน UI พร้อม HUD ในตัวตราโลโก้และแผงข้อความช่วยเหลือ/พารามิเตอร์/พารามิเตอร์
- ไลบรารีตัวอักษรสำหรับการโหลดแบบอักษรการอัปเดต ATLA แบบไดนามิกการแสดงข้อความและเค้าโครง
- ห้องสมุดวิดเจ็ต (กำลังพัฒนา)
- โครงสร้างพื้นฐานแพลตฟอร์ม :
- แอปพลิเคชันพื้นฐานพร้อมการจัดการหน้าต่างและการจัดการอินพุตสำหรับ Windows, MacOS และ Linux
- กลไกกิจกรรมการเชื่อมต่อตัวปล่อยและตัวรับสัญญาณผ่านอินเตอร์เฟสการโทรกลับ
- ระบบย่อยแอนิเมชั่น
- ผู้ให้บริการทรัพยากรในตัว
- ความสามารถในการดีบักและการทำโปรไฟล์แบบบูรณาการ :
- เครื่องมือวัดห้องสมุดสำหรับการวิเคราะห์ประสิทธิภาพด้วยเครื่องมือการทำโปรไฟล์การติดตาม
- ชื่อดีบักสำหรับวัตถุ GPU ทั้งหมดและภูมิภาคดีบักสำหรับกราฟิก API เรียกใช้กับเครื่องมือการทำโปรไฟล์เฟรม
- การรวมอย่างต่อเนื่อง กับการสร้างแบบหลายแพลตฟอร์มอัตโนมัติการทดสอบหน่วยและการวิเคราะห์รหัสสแตติกแบบคลาวด์ Sonar ในการกระทำของ GitHub
สำหรับรายละเอียดคุณสมบัติคำอธิบายและแผนการพัฒนาโปรดดูเอกสารโมดูล เครื่องมือพัฒนาที่รองรับ สภาพแวดล้อมการพัฒนา 
- Microsoft Visual Studio 2019
- โซลูชันและโครงการสร้าง (สร้างด้วย build/windows/build.bat)
- CMake Native Build Support (กำหนดค่าล่วงหน้าด้วย cmakepresets.json)
- Apple xcode
- Xcode Workspace และโครงการ (สร้างด้วย build/unix/build.sh)
- รหัส Microsoft vs และ gitpod (กำหนดค่าล่วงหน้าด้วย cmakepresets.json และ .vscode/settings.json)
- Jet Brains Clion (กำหนดค่าล่วงหน้าด้วย .idea)
- ผู้สร้าง QT ด้วยการสนับสนุนดั้งเดิมของ CMake
ชุดมีเธนได้รับการพัฒนาด้วยการสนับสนุนเครื่องมือพัฒนาสมองเจ็ท ใบอนุญาตการพัฒนาโครงการโอเพ่นซอร์สมีให้ฟรีแก่ผู้มีส่วนร่วมหลักของโครงการ Methane Kit การวิเคราะห์รหัสสถิต Methane Kit มาพร้อมกับการวิเคราะห์รหัสแบบคงที่ C ++ อย่างต่อเนื่องและการวิเคราะห์ความครอบคลุมของรหัสดำเนินการเป็นส่วนหนึ่งของการสแกน "Scan" CI อัตโนมัติพร้อมผลลัพธ์ที่ทันสมัยที่เผยแพร่บน Sonar Cloud แยกต่างหากสำหรับแพลตฟอร์มที่รองรับทั้งหมด | ผลการสแกนหลัก | หน้าต่าง | แม็กอส | ลินเวกซ์ |
|---|
| สแกนสถานะการสร้าง | | | | | ประตูคุณภาพ | | | | | การบำรุงรักษาได้ | | | | | ความน่าเชื่อถือ | | | | | ความปลอดภัย | | | | | หนี้ทางเทคนิค | | | | | ข้อบกพร่อง | | | | | ช่องโหว่ | | | | | รหัสกลิ่น | | | | | เส้นซ้ำ | | | | | การทดสอบความครอบคลุม | | | | | บรรทัดของรหัส | | | |
เครื่องมือการทำโปรไฟล์ติดตาม Methane Kit มีเครื่องมือรวมของไลบรารีทั้งหมดสำหรับการวิเคราะห์ประสิทธิภาพด้วยการรวบรวมร่องรอยโดยใช้เครื่องมือต่อไปนี้ โปรดดูเอกสารเครื่องมือวัดมีเธนสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับคำแนะนำการรวบรวมการติดตามและตัวเลือกการสร้างที่เกี่ยวข้อง | Tracy Frame Profiler | Intel Graphics Trace Analyzer |
|---|
 |  |
เครื่องมือการทำโปรไฟล์และการดีบัก- ตัววิเคราะห์เฟรมกราฟิก Intel
- Apple Xcode Metal Debugger
- RenderDoc
- Microsoft Pix
- กราฟิก nvidia nsight
การพึ่งพาภายนอก- ห้องสมุด
- สร้างเครื่องมือ
- สินทรัพย์
ใบอนุญาต มีการแจกจ่ายชุดมีเธนภายใต้ใบอนุญาต Apache 2.0: มีอิสระที่จะใช้และเปิดสำหรับการบริจาค! ลิขสิทธิ์ 2019-2022 © Evgeny Gorodetskiy
ขยาย
|