เอนจิน physically based rendering (PBR) ของ Google ชื่อ Filament กำลังได้รับความสนใจเพิ่มขึ้นในชุมชนนักพัฒนา โดยมีเครื่องมือและ wrapper ใหม่ๆ ที่ทำให้สามารถเข้าถึงได้ง่ายขึ้นในหลากหลายแพลตฟอร์ม อย่างไรก็ตาม ยังคงมีความสับสนเกี่ยวกับความสัมพันธ์กับโปรเจกต์ที่ถูกยกเลิกไปแล้ว และความคล้ายคลึงของชื่อกับวัสดุสำหรับการพิมพ์ 3 มิติ
เครื่องมือพัฒนาข้ามแพลตฟอร์มเริ่มปรากฏขึ้น
ระบบนิเวศของ Filament กำลังขยายตัวด้วยโซลูชันที่ขับเคลื่อนโดยชุมชน ซึ่งช่วยเชื่อมช่องว่างระหว่างแพลตฟอร์มต่างๆ การพัฒนาที่น่าสังเกตคือการสร้าง package สำหรับ Dart/Flutter ที่ wrap ฟังก์ชันการทำงานของ Filament ทำให้นักพัฒนาสามารถสร้างแอปพลิเคชันด้วย codebase เดียวที่สามารถทำงานบน macOS, iOS, Android, Windows และแพลตฟอร์มเว็บได้ วิธีการนี้ช่วยลดความซับซ้อนในการพัฒนาอย่างมาก ขณะเดียวกันก็ยังคงความสามารถในการเรนเดอร์ที่ทรงพลังของ Filament รวมถึงฟีเจอร์ shadows, antialiasing และ color grading
PBR (Physically Based Rendering): วิธีการเรนเดอร์ที่จำลองการมีปฏิสัมพันธ์ของแสงกับวัสดุในลักษณะที่ถูกต้องตามหลักฟิสิกส์ ทำให้ได้ผลลัพธ์ภาพที่สมจริงมากขึ้น
คุณสมบัติหลักของ Filament :
- แพลตฟอร์มเป้าหมาย: OpenGL ES 3.1 บน GPU มือถือ
- แพลตฟอร์มที่รองรับ: Android , iOS , macOS , Windows , Web (ผ่าน community wrappers)
- ความสามารถในการเรนเดอร์: เงา, การปรับความเรียบ, การปรับแต่งสี, วัสดุ PBR
- พารามิเตอร์วัสดุ: ใช้หน่วยทางฟิสิกส์ (เมตร, เคลวิน, ลักซ์/ลูเมน, แคนเดลา)
- เป้าหมายการออกแบบ: ประสิทธิภาพบนมือถือ, คุณภาพ, ความง่ายในการใช้งาน, ความคุ้นเคย, ความยืดหยุน
ขจัดความสับสนเกี่ยวกับโปรเจกต์
การสนทนาในชุมชนเผยให้เห็นความสับสนที่ยังคงมีอยู่ระหว่าง Filament และโปรเจกต์ Sceneform ของ Google ที่ถูกยกเลิกไปแล้ว แม้ว่า Sceneform จะเป็นเฟรมเวิร์กที่เน้น AR และใช้ Filament เป็น renderer พื้นฐาน แต่ทั้งสองโปรเจกต์มีจุดประสงค์ที่แตกต่างกัน Sceneform ถูกเก็บถาวรที่เวอร์ชัน 1.16.0 แต่ Filament ยังคงมีการพัฒนาอย่างต่อเนื่องในฐานะเอนจิน rendering แบบ standalone ความแตกต่างนี้มีความสำคัญสำหรับนักพัฒนาที่กำลังประเมินเทคโนโลยีกราฟิกส์ปัจจุบันของ Google
การเปรียบเทียบสถานะโปรเจกต์:
โปรเจกต์ | สถานะ | วัตถุประสงค์ | ความสัมพันธ์ |
---|---|---|---|
Filament | กำลังพัฒนาอยู่ | เอนจิ้นการเรนเดอร์ PBR | โปรเจกต์เดี่ยว |
Sceneform | เก็บถาวรแล้ว (v1.16.0) | เฟรมเวิร์ก AR | ใช้ Filament เป็นตัวเรนเดอร์ |
Community Wrappers | กำลังพัฒนาอยู่ | เครื่องมือข้ามแพลตฟอร์ม | สร้างบน Filament |
ความท้าทายในการตั้งชื่อในชุมชนเทคนิค
การเลือกใช้ชื่อ Filament เป็นชื่อโปรเจกต์ได้จุดประกายการถกเถียงเกี่ยวกับความสับสนที่อาจเกิดขึ้นกับศัพท์เทคนิคของการพิมพ์ 3 มิติ ซึ่งแตกต่างจากความขัดแย้งในการตั้งชื่อซอฟต์แวร์อื่นๆ ที่โดเมนแตกต่างกันโดยสิ้นเชิง ทั้ง Filament เอนจิน rendering และ filament สำหรับเครื่องพิมพ์ 3 มิติ ต่างก็เกี่ยวข้องกับคุณสมบัติของวัสดุและการแสดงทางกายภาพ สมาชิกในชุมชนบางคนตั้งความหวังในตอนแรกว่าจะเป็นเนื้อหาเกี่ยวกับการผลิต filament สำหรับเครื่องพิมพ์ 3 มิติที่ตรงกับการตั้งค่า PBR ในดิจิทัล ซึ่งเน้นย้ำให้เห็นว่าโดเมนเหล่านี้มีความเกี่ยวข้องกันอย่างใกล้ชิด
เฮ้ย ฉันตื่นเต้นไปชั่วขณะจากหัวข้อ คิดว่าเป็นเรื่องเกี่ยวกับวิธีการผลิต filament สำหรับเครื่องพิมพ์ 3 มิติจากการตั้งค่า PBR เพื่อให้คุณสามารถปรับแต่งวัสดุในคอมพิวเตอร์และให้ filament ของคุณตรงกับเวอร์ชันดิจิทัล
การเข้าถึงทางเทคนิคและการมุ่งเน้นประสิทธิภาพ
ปรัชญาการออกแบบของ Filament เน้นประสิทธิภาพบนมือถือขณะที่ยังคงคุณภาพ โดยกำหนดเป้าหมายไปที่ OpenGL ES 3.1 บน mobile GPU ภาษา material shader ของเอนจินได้รับการกล่าวขานว่าเข้าถึงได้ง่ายสำหรับนักพัฒนา แม้ว่าฟีเจอร์บางอย่างเช่น GPU instancing แบบครอบคลุมยังคงอยู่ใน wishlist การมุ่งเน้นของโปรเจกต์ในเรื่อง lightweight deployment และหน่วยที่ถูกต้องตามหลักฟิสิกส์ (เมตร, เคลวิน, ลักซ์) สอดคล้องกับแนวปฏิบัติการพัฒนาสมัยใหม่ที่ให้ความสำคัญทั้งประสิทธิภาพและความง่ายในการใช้งาน
ความสนใจที่เพิ่มขึ้นของชุมชนใน Filament สะท้อนแนวโน้มที่กว้างขึ้นไปสู่เครื่องมือพัฒนาข้ามแพลตฟอร์มและการเรนเดอร์ที่ถูกต้องตามหลักฟิสิกส์ในแอปพลิเคชันมือถือ ขณะที่นักพัฒนาแสวงหาทางเลือกอื่นจากโซลูชันการเรนเดอร์ที่หนักกว่า การผสมผสานระหว่างการสนับสนุนจาก Google และส่วนขยายที่ขับเคลื่อนโดยชุมชนของ Filament ทำให้มันอยู่ในตำแหน่งที่เป็นทางเลือกที่เป็นไปได้สำหรับโปรเจกต์ที่ต้องการกราฟิกส์คุณภาพสูงในหลายแพลตฟอร์ม