pipeline graphique
DESCRIPTION
Explication du fonctionnement des API 3D matériels, comme opengl, directx.TRANSCRIPT
- 1. Le pipeline graphique temps rel Entres:
- Gometries,
- 2. Surfaces, Lumires,
3. Cameras, 4. Surfaces de rendus Sorties:
- Couleurs rparties sur les surfaces de rendu selon ses capacits
Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display 5. Modeling Transformations
- Les modles 3D sont dfinis dans leurs propre systme de coordones. (object space)
6. Les Modeling transforms font le changement de repre (world space) ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display Object space World space 7. Illumination (Shading)
- Les Vertex sont illumins (shaded) selon les proprits des matriaux, des surface (normal) et des lumires
8. Modles d'illumination (Diffuse, Ambient, Phong, etc.) ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display 9. Viewing Transformation
- Transforme du world space vers eye space (Camera)
10. La position de visualisation est transform selon l'origine & et sa direction est orient selon l'axe (en gnralz ) ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display Eye space World space 11. Clipping ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display Eye space frustum 12. Scan Conversion (Rasterization)
- Rasterize les objets en pixels
13. Interpolation des valeurs 14. (couleur, pronfondeur, etc.) ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display 15. Visibilit / Affichage
- Algorithme du peintre (Z-Buffer)
16. Chaque tape du pipeline est un forme de transformation ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display 17. Systmes de Coordonnes
- Object space
-
- Locale chaque objet
- World space
-
- commun tous les objets
- Eye space / Camera space
-
- deriv du frustum de visualisation
- Clip space / NormalizedDevice Coordinates (NDC)
-
- [-1,-1,-1]->[1,1,1]
- Screen space
-
- Index selon les capacits hardware
18. Systmes de Coordonnes ModelingTransformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection(to Screen Space) Scan Conversion (Rasterization) Visibility / Display Object space World space Eye Space / Camera Space Clip Space (NDC) Screen Space 19. Matriel - GPU 20. Matriel - GPU OpenGL (vertex) buffer object GPU command processor vertex puller hardware rendering pipeline CPU CPU writes of command + vertex indices vertex array GPU DMA transfer of command data application (client) memory memory reads CPU GPU DMA transfer of vertex dataCPU never reads data command queue 21. Shaders
- Rsout la multiplicit de modles de transformation, de lumire cabl en dur en donnant accs a des tapes du pipeline
Model dataVertex and texture coord VertexPrograms FragmentPrograms Rasterization Framebuffer Fixed-functions (lighting, clipping, culling, projection, viewport mapping) Fixed-functions (pixel ownership testing, scissoring, alpha testing, blending, masking) 22. Shader ambient lighting // Vertex Shader void main() { gl_Position =gl_ModelViewProjectionMatrix * gl_Vertex; } // Fragment Shader void main() { gl_FragColor = vec4(0.2, 0.6, 0.8, 1); } 23. Shader ambient lighting