24 คะแนน โดย GN⁺ 2024-08-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ความคิดเห็น

 
GN⁺ 2024-08-05
ความเห็นจาก Hacker News
  • ระหว่างทำโปรเจกต์ WebGPU พบว่าหาข้อมูลจำนวนมากได้ยาก

    • แม้ภาษา WGSL และ JS API จะมีเอกสารค่อนข้างดี แต่ก็ต้องพยายามมากในการหาคำตอบสำหรับคำถามที่เกี่ยวข้อง
    • ได้รายงานบั๊กหลายรายการใน Firefox และยังมีปัญหาบางอย่างที่ต้องแก้ไข
  • สำหรับคนที่อยากลงลึกใน WebGPU นี่น่าประทับใจและน่าสนใจมาก

    • โค้ด playground ทำงานได้ไม่สมบูรณ์บน Safari
    • รีสตาร์ต Safari แล้วปัญหาก็หาย
    • อยากให้หน้าปกของหนังสือเปลี่ยนตามตัวอย่างได้
  • กำลังจะเริ่มทำต้นแบบเกมเล็ก ๆ เพื่อเรียนรู้ WebGPU

    • วางแผนจะเริ่มเรียนจากหนังสือเล่มนี้
  • แนวคิดของ code playground ที่ลิงก์ถึงกันนั้นยอดเยี่ยมมาก

    • เนื้อหาในหนังสือก็ดีเยี่ยมเช่นกัน
    • ขอแสดงความยินดีและขอบคุณที่ทำสิ่งนี้ขึ้นมาเป็นโปรเจกต์ส่วนตัว
  • ขอบคุณสำหรับหนังสือที่ยอดเยี่ยม

    • มีปัญหาการเรนเดอร์บน mobile viewport โดยเฉพาะใน Firefox
    • เมนูนำทางพังและเลื่อนดูเนื้อหาได้ไม่ค่อยดี
  • เจ๋งมาก และดูเหมือนทุ่มเทความพยายามไปอย่างมาก

  • มีคำแนะนำว่าอย่าโทษตัวเองมากเกินไปแม้โปรเจกต์จะยังไม่เสร็จสมบูรณ์

    • สามารถอาศัยความช่วยเหลือจากชุมชนเพื่อปรับปรุงได้
  • มีคำถามว่าทำไม WebGPU ใน Firefox ถึงยังไม่เปิดใช้งานเป็นค่าเริ่มต้น

  • ขอบคุณสำหรับคอนเทนต์ดี ๆ จำนวนมากที่เปิดให้ใช้ฟรี

    • คนรุ่นใหม่กำลังมองหาทรัพยากรแบบนี้อยู่
    • ชอบที่เน้นวิดีโอและทำออกมาให้น่าสนใจจริง ๆ
    • มีการเสนอแนวทางในการรับการสนับสนุนทางการเงินผ่านคอนเทนต์การสอนและการทำวิดีโอ