ลินเวกซ์ | หน้าต่าง | แม็กอส | การใช้เว็บ | |
|---|---|---|---|---|
| การรวบรวม | ![]() | ![]() | ![]() | ![]() |
| Unit tests | ![]() | No CI yet | No CI yet | N/A |
Codacy | Coveralls |
|---|---|
RaZ comes from, as you may have noticed, my username Raz akhel. นี่ก็มีความหมายว่าเป็นปุนเนื่องจากในภาษาฝรั่งเศส Ràz เป็นตัวย่อสำหรับ "Remise àZéro" ซึ่งโดยทั่วไปหมายถึง "รีเซ็ต" ฉันไม่ได้มีเจตนาใด ๆ ที่อยู่เบื้องหลังความหมายสองเท่านี้ Except maybe hoping that using RaZ might reset your mind because of its awesomeness? โอ้ดี.
Written in modern C++ (17), ECS driven, it is primarily developed for learning purposes. It is intended to be very intuitive & easy to use and tinker with, while trying to stay as optimized & modular as possible.
The engine is available under Windows, Linux & macOS; it can also run in a web browser through WebAssembly (using Emscripten).
เครื่องยนต์สามารถใช้กับ Lua ภาษาสคริปต์ที่ง่ายมากสำหรับการเรียนรู้และการใช้งาน สำหรับข้อมูลเพิ่มเติมดูหน้าวิกิเฉพาะ
หากคุณต้องการเริ่มต้นกับ Raz ให้ไปที่วิกิ สำหรับเอกสารดูที่นี่!
Razor ซึ่งเป็นตัวแก้ไขยังมีหลายฟอร์มสามารถจัดการกับเครื่องยนต์ผ่านส่วนต่อประสานกราฟิก
เซิร์ฟเวอร์ Discord ที่อุทิศให้กับ Raz & Razor ก็มีให้เช่นกัน! อย่าลังเลที่จะติดตามการพัฒนาถามคำถามใด ๆ หรือเพียงแค่ทักทาย
| Crytek Sponza | Hylian Shield (PBR) |
|---|---|
มีตัวอย่างเพิ่มเติมที่นี่
| ชื่อ | ผู้ดูแล/ผู้สร้าง | คำอธิบาย |
|---|---|---|
| Atmos | ราซาเกล | การจำลองบรรยากาศ |
| Midgard | ราซาเกล | การสร้างขั้นตอนภูมิประเทศ |
| yggdrasil | ราซาเกล | การสร้างขั้นตอนต้นไม้และใบไม้ |
หากคุณกำลังทำงานด้วยตัวเองด้วยตัวเองอย่าลังเลที่จะติดต่อเพื่อที่ฉันจะได้เพิ่มพวกเขาลงในรายการ
| โมดูล | คุณสมบัติ |
|---|---|
| ความเคลื่อนไหว | - โครงสร้างข้อมูลโครงกระดูก - การสนับสนุนแอนิเมชั่น (อยู่ระหว่างดำเนินการ) |
| เสียง | - ใช้โอเพนัลอ่อน - การเล่น/หยุด/หยุด/ทำซ้ำเสียง - แหล่งกำเนิดเสียงและผู้ฟังตำแหน่ง - เอฟเฟกต์เสียง (เสียงก้อง, คอรัส, การบิดเบือน, เสียงสะท้อน, ... ) - อินพุตเสียง (ไมโครโฟน) สนับสนุนโมโน/สเตอริโอ |
| ข้อมูล | - โครงสร้างลำดับชั้นของปริมาณ (BVH) โครงสร้างการเร่งความเร็ว - โครงสร้างกราฟกำกับ - สนามระยะทางที่ลงนามตาข่าย - Bitset แบบไดนามิก - รูปแบบไฟล์: - ตาข่าย: - การนำเข้า GLTF/GLB (ใช้ fastgltf) - OBJ นำเข้า/ส่งออก - นำเข้า FBX (ใช้ FBX SDK) - ปิดการนำเข้า - รูปภาพ: - PNG, JPEG, BMP, TGA, HDR, GIF, PPM/PGM, PSD, นำเข้า PIC (ใช้ STB_IMAGE) - PNG, JPEG, BMP, TGA, HDR Export (ใช้ STB_IMAGE_WRITE) - การนำเข้า TGA - เสียง: WAV นำเข้า/ส่งออก - แอนิเมชั่น: BVH นำเข้า (อยู่ระหว่างดำเนินการ) |
| คณิตศาสตร์ | - เวกเตอร์เมทริกซ์และ Quaternions - มุม (องศา/เรเดียน) - การแปลง (การแปล, การหมุน, ขนาด) - เสียงรบกวน (Perlin, Worley) |
| ฟิสิกส์ | - รูปร่าง (เส้น, ระนาบ, ทรงกลม, สามเหลี่ยม, รูปสี่เหลี่ยม, AABB, OBB) - การตรวจสอบรูปร่าง/รูปร่าง (ระหว่างดำเนินการ) - การตรวจสอบสี่แยกเรย์/รูปร่าง (ระหว่างดำเนินการ) - การจำลองร่างกายที่เข้มงวด (อยู่ระหว่างดำเนินการ) |
| การแสดงผล | - OpenGL (4.6-3.3) - Vulkan (อยู่ระหว่างดำเนินการ) -PBR (Cook-Torrance) & Legacy (Blinn-phong) รุ่นวัสดุ - การเรนเดอร์รอการตัดบัญชีโดยใช้กราฟเรนเดอร์แบบกำหนดเอง - เอฟเฟกต์โพสต์: บาน, การทำแผนที่เสียง, SSR, SSAO, ... (อยู่ระหว่างดำเนินการ) - รองรับ Tessellation & Compute Shaders - กล้อง (มุมมอง/orthographic) - แหล่งกำเนิดแสง (จุดและทิศทาง) - windowing (หน้าต่าง, แป้นพิมพ์/เมาส์อินพุตที่มีการเรียกกลับแบบกำหนดเอง) โดยใช้ GLFW - ซ้อนทับโดยใช้ Imgui - Cubemap - การทำแผนที่ปกติ |
| การเขียนสคริปต์ | - Lua Scripting โดยใช้ SOL2 |
| XR | - การสนับสนุนเสมือนจริง (VR) (ใช้ OpenXR SDK) |
| ผิด | - การใช้งาน ECS แบบกำหนดเอง (Entity Component System) - สตริงเส้นทางขึ้นอยู่กับแพลตฟอร์มแบบสม่ำเสมอ - การบันทึกระบบสาธารณูปโภค - ยูทิลิตี้มัลติเธรด - ปลั๊กอินยูทิลิตี้เพื่อโหลดไลบรารีแบบไดนามิก - คอมไพเลอร์, enum, สตริง, ไฟล์, โฟลติ้งจุดและประเภทยูทิลิตี้ - การรวมเทรซี่ |