Pipeline Graphique

Embed Size (px)

DESCRIPTION

Explication du fonctionnement des API 3D matériels, comme opengl, directx.

Citation preview

  • 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