24 puntos por GN⁺ 2024-08-05 | 1 comentarios | Compartir por WhatsApp
  • eBook gratuito sobre programación gráfica con WebGPU usando JavaScript
  • Por qué se escribió el libro
    • Un amigo preguntó qué debería aprender su hijo para empezar con la programación gráfica
    • En el pasado, OpenGL y DirectX eran las recomendaciones habituales para principiantes
    • Últimamente han aparecido nuevas APIs como Vulkan, Metal y DirectX 12, pero su código es más complejo y varían según la plataforma
  • WebGPU es una nueva API gráfica que ofrece capacidades gráficas nativas en la web
    • A diferencia de otras APIs, WebGPU actúa como un wrapper de varias APIs
  • Ventajas de WebGPU:
    • Es relativamente simple al servir como denominador común entre distintas APIs
    • Puede usarse en todas las plataformas como estándar de API gráfica web
    • También ofrece implementaciones en C++ y Rust para quienes estén interesados en desarrollo nativo
  • Comienza con una visión general de los drivers de GPU y del pipeline de la GPU
    • Muchos estudiantes pueden implementar aplicaciones gráficas sencillas, pero les falta comprensión sobre la interacción entre los drivers de GPU y el hardware
  • Luego se aprende el uso básico de WebGPU
    • Dibujar un triángulo: el elemento básico de los gráficos 3D
    • Técnicas de renderizado 2D y control de escenas 3D
  • Temas avanzados
    • Explica computación en GPU con WebGPU y técnicas avanzadas de renderizado
    • Hace posible la computación en GPU en la web, algo que no era posible con WebGL
    • Abre posibilidades interesantes como la inferencia de IA en GPU
  • Tutorial final: renderizado con Gaussian Splatting
    • Un ejemplo complejo que combina computación en GPU y renderizado
    • Gaussian Splatting es una técnica reciente que permite renderizar escenas 3D realistas en tiempo real
  • Se ofrece en formato web interactivo en lugar de un libro tradicional
    • Incluye explicaciones en video, referencias mediante enlaces y un playground en línea donde se pueden ejecutar y modificar ejemplos de código

Resumen de GN⁺

  • "WebGPU Unleashed" es un libro gratuito para aprender fácilmente programación gráfica con WebGPU usando JavaScript
  • WebGPU es relativamente simple como denominador común entre varias APIs gráficas y puede usarse en todas las plataformas
  • El libro cubre desde una visión general de los drivers de GPU y el pipeline, hasta dibujo básico de triángulos, técnicas de renderizado 2D y 3D, y computación avanzada en GPU
  • Permite aprender a renderizar escenas 3D realistas en tiempo real mediante tecnologías recientes como Gaussian Splatting
  • Al ofrecerse en formato web interactivo, mejora el aprendizaje con videos, enlaces y un playground en línea

1 comentarios

 
GN⁺ 2024-08-05
Opiniones en Hacker News
  • Mientras trabajaba en un proyecto con WebGPU, fue difícil encontrar mucha información

    • El lenguaje WGSL y la API de JS están bien documentados, pero se requiere mucho esfuerzo para encontrar respuestas a preguntas relacionadas
    • Reportó varios bugs en Firefox y hay algunos problemas que deben resolverse
  • Es muy impresionante e interesante para quienes quieren profundizar en WebGPU

    • El código del playground no funciona completamente en Safari
    • Reinició Safari y el problema se resolvió
    • Estaría bien que la portada del libro cambiara según el ejemplo
  • Está por comenzar un pequeño prototipo de juego para aprender WebGPU

    • Planea empezar a aprender con este libro
  • El concepto de un playground de código con hipervínculos es fantástico

    • El contenido del libro también es excelente
    • Expresa felicitaciones y agradecimiento por haberlo hecho como proyecto paralelo
  • Gracias por el excelente libro

    • Hay problemas de renderizado en el viewport móvil, especialmente en Firefox
    • La navegación se rompe y el desplazamiento del contenido no funciona bien
  • Está muy genial y parece haber requerido un gran esfuerzo

  • Consejo de no castigarse demasiado aunque el proyecto no esté completamente terminado

    • Puede mejorar con la ayuda de la comunidad
  • Pregunta por qué WebGPU no está habilitado por defecto en Firefox

  • Gracias por la gran cantidad de buen contenido disponible gratis

    • Una persona joven estaba buscando recursos como este
    • Le gusta que se enfoque en video y que realmente lo haga interesante
    • Sugiere formas de obtener apoyo financiero mediante contenido educativo y producción de video