Probando PGA
- PGA (álgebra geométrica proyectiva) está atrayendo atención dentro de las comunidades de gráficos por computadora y aprendizaje automático.
- Aunque la aplicación de PGA en los gráficos 3D tradicionales había sido limitada, el proyecto 'Look, Ma, No Matrices!' busca ampliar su alcance integrándolo en motores 3D modernos.
- El proyecto enfatiza que, para aprovechar el potencial de PGA, se necesita una reconsideración fundamental en lugar de simplemente reemplazar tecnologías existentes.
Introducción
- En los gráficos por computadora, las matrices cumplen un papel muy importante.
- Hoy en día, las GPU son programables y ya no están atadas a un pipeline de función fija, por lo que existen las condiciones para usar PGA.
- Las matrices son adecuadas para representar transformaciones lineales, pero los motores de PGA pueden codificar movimientos euclidianos con menor costo de cómputo y memoria.
FPGA: ¡PGA rápido!
- Se explican en detalle los operadores básicos de PGA y las técnicas necesarias para CPU y GPU.
- Los vectores base y la disposición en memoria de PGA se eligen para minimizar las conversiones al procesar datos gráficos.
- Las estructuras de datos de PGA se traducen a estructuras simples de shaders, manteniendo las operaciones con tipos integrados.
Obtener operadores geométricos
- En PGA, la composición de transformaciones usa multiplicación geométrica, que es más eficiente que la multiplicación de matrices.
- El operador sándwich necesario para transformar puntos y direcciones cumple un papel importante en PGA.
- La normalización y la operación de raíz cuadrada de los motores de PGA son operaciones importantes dentro de PGA, y pueden implementarse de forma eficiente.
Alejarse de las matrices
- La interacción con contenido existente implica que hay que convertir matrices a sus equivalentes en PGA.
- A diferencia de una matriz 4x4, un motor de PGA no incluye escalado, por lo que el escalado uniforme se rastrea multiplicando la escala total de cada elemento por la escala del padre.
- El escalado no uniforme es más complejo, pero en la mayoría de los casos solo se aplica en nodos hoja.
Renderizado forward
- Un renderizador forward transforma la geometría de la malla y determina qué píxeles cubre cada triángulo.
- Se reemplazan las matrices de modelo, vista y proyección por motores de PGA, y en el vertex shader se realizan las transformaciones necesarias para el normal mapping en espacio tangente.
- El enfoque basado en PGA muestra que es posible transformar vértices de malla con un costo computacional casi idéntico al de usar matrices 4x4.
Opinión de GN⁺
- El proyecto 'Look, Ma, No Matrices!' presenta una alternativa interesante al enfoque tradicional de renderizado basado en matrices. Este nuevo enfoque para manejar transformaciones en gráficos 3D mediante PGA podría traer innovación al campo de los gráficos por computadora.
- Para desarrolladores acostumbrados a las operaciones matriciales tradicionales, esta tecnología puede requerir una nueva curva de aprendizaje, lo que podría convertirse en una barrera en las primeras etapas de adopción.
- Otros proyectos o productos de la industria con funciones similares incluyen APIs gráficas como OpenGL o DirectX, pero estas usan el enfoque tradicional basado en matrices.
- Al adoptar PGA, hay que considerar la compatibilidad con el código existente, la optimización del rendimiento y la capacitación de los desarrolladores.
- Las ventajas de elegir PGA incluyen mejoras en eficiencia de memoria y cómputo, pero esto puede variar según la integración con sistemas existentes y el nivel de comprensión de PGA por parte de los desarrolladores.
1 comentarios
Opiniones de Hacker News
Recomiendan el video introductorio de Freya Holmér sobre álgebra geométrica (Geometric Algebra)
Comprensión del álgebra geométrica
i*i = 1,i*j = -j*i)wedge productDistintos enfoques para la interpolación de rotaciones
Recomendaciones de materiales sobre álgebra geométrica
En el resto de la página el modelo está demasiado activo, lo que dificulta entender las matemáticas
Críticas a la complejidad del álgebra geométrica
2^ntérminoswedge productyhodge star(o el isomorfismo musical)Piden que se defina la sigla PGA (álgebra geométrica proyectiva) la primera vez que se usa
Dudas sobre la eficiencia del álgebra geométrica en GPU
El artículo es interesante y agradable de leer; no es un área de especial interés, pero el texto resulta atractivo
Hace falta una explicación de la teoría de álgebras de Lie (Lie algebra) para operaciones gráficas