- eBook ฟรีที่ว่าด้วยการเขียนโปรแกรมกราฟิก WebGPU ด้วย JavaScript
- เหตุผลที่เขียนหนังสือเล่มนี้
- มีคนมาถามว่าถ้าลูกของเพื่อนอยากเริ่มต้นเรียนกราฟิกโปรแกรมมิง ควรเรียนอะไรบ้าง
- ในอดีตมักแนะนำ OpenGL และ DirectX ให้กับผู้เริ่มต้น
- ช่วงหลังมี API รุ่นใหม่อย่าง Vulkan, Metal และ DirectX 12 ออกมา แต่สิ่งเหล่านี้มีโค้ดที่ซับซ้อนกว่าและแตกต่างกันไปตามแพลตฟอร์ม
- WebGPU คือกราฟิก API ใหม่ที่มอบความสามารถด้านกราฟิกแบบเนทีฟบนเว็บ
- ต่างจาก API อื่น ๆ ตรงที่ WebGPU ทำหน้าที่เป็นตัวครอบหลาย API
- ข้อดีของ WebGPU:
- ค่อนข้างเรียบง่ายเพราะเป็นตัวหารร่วมของ API อื่น ๆ
- ใช้งานได้บนทุกแพลตฟอร์มในฐานะมาตรฐาน Web graphics API
- ยังมี implementation สำหรับ C++ และ Rust สำหรับผู้ที่สนใจการพัฒนาแบบเนทีฟ
- เริ่มต้นจากภาพรวมของ GPU driver และ GPU pipeline
- นักเรียนจำนวนมากสามารถสร้างแอปกราฟิกอย่างง่ายได้ แต่ยังขาดความเข้าใจเรื่องการทำงานร่วมกันระหว่าง GPU driver กับฮาร์ดแวร์
- จากนั้นเรียนรู้การใช้งานพื้นฐานของ WebGPU
- การวาดสามเหลี่ยม: องค์ประกอบพื้นฐานของกราฟิก 3D
- เทคนิคการเรนเดอร์ 2D และการควบคุมฉาก 3D
- หัวข้อขั้นสูง
- อธิบาย GPU computing และเทคนิคการเรนเดอร์ขั้นสูงด้วย WebGPU
- ทำให้สามารถทำ GPU computing บนเว็บได้ ซึ่งเป็นสิ่งที่ WebGL ทำไม่ได้
- เปิดโอกาสที่น่าสนใจ เช่น GPU AI inference
- บทช่วยสอนสุดท้าย: การเรนเดอร์ Gaussian Splatting
- ตัวอย่างที่ซับซ้อนซึ่งผสาน GPU computing และการเรนเดอร์เข้าด้วยกัน
- Gaussian Splatting คือเทคโนโลยีสมัยใหม่ที่สามารถเรนเดอร์ฉาก 3D สมจริงแบบเรียลไทม์ได้
- ให้มาในรูปแบบ เว็บแบบอินเทอร์แอ็กทีฟ แทนหนังสือแบบดั้งเดิม
- มีวิดีโออธิบายแนวคิด การอ้างอิงผ่านลิงก์ และ online playground ที่ให้รันและแก้ไขโค้ดตัวอย่างได้
สรุปโดย GN⁺
- "WebGPU Unleashed" คือหนังสือฟรีที่ช่วยให้เรียนรู้การเขียนโปรแกรมกราฟิก WebGPU ด้วย JavaScript ได้อย่างง่ายดาย
- WebGPU ค่อนข้างเรียบง่ายในฐานะตัวหารร่วมของกราฟิก API หลายตัว และใช้งานได้บนทุกแพลตฟอร์ม
- หนังสือเริ่มตั้งแต่ภาพรวมของ GPU driver และ pipeline ไปจนถึงการวาดสามเหลี่ยมพื้นฐาน เทคนิคการเรนเดอร์ 2D และ 3D และ GPU computing ขั้นสูง
- สามารถเรียนรู้วิธีเรนเดอร์ฉาก 3D สมจริงแบบเรียลไทม์ผ่านเทคโนโลยีสมัยใหม่อย่าง Gaussian Splatting
- นำเสนอในรูปแบบเว็บแบบอินเทอร์แอ็กทีฟ พร้อมวิดีโอ ลิงก์ และ online playground เพื่อเพิ่มประสิทธิภาพในการเรียนรู้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ระหว่างทำโปรเจกต์ WebGPU พบว่าหาข้อมูลจำนวนมากได้ยาก
สำหรับคนที่อยากลงลึกใน WebGPU นี่น่าประทับใจและน่าสนใจมาก
กำลังจะเริ่มทำต้นแบบเกมเล็ก ๆ เพื่อเรียนรู้ WebGPU
แนวคิดของ code playground ที่ลิงก์ถึงกันนั้นยอดเยี่ยมมาก
ขอบคุณสำหรับหนังสือที่ยอดเยี่ยม
เจ๋งมาก และดูเหมือนทุ่มเทความพยายามไปอย่างมาก
มีคำแนะนำว่าอย่าโทษตัวเองมากเกินไปแม้โปรเจกต์จะยังไม่เสร็จสมบูรณ์
มีคำถามว่าทำไม WebGPU ใน Firefox ถึงยังไม่เปิดใช้งานเป็นค่าเริ่มต้น
ขอบคุณสำหรับคอนเทนต์ดี ๆ จำนวนมากที่เปิดให้ใช้ฟรี