3D Software Rendering Graphics Pipeline

Поділитися
Вставка
  • Опубліковано 22 тра 2024
  • This video goes over the stages of the graphics pipeline I like to use in my 3D software rendering projects.
    One of the first things game programming students read in most graphics books is the famous "Graphics Pipeline."
    Surprisingly, the term confuses some programmers, especially because most books already present more complex pipelines used by OpenGL, Direct3D, and Vulkan. That's why I decided to take some time to sit down and talk to you about some of the most important stages of a simpler rendering pipeline.
    The rendering pipeline I discuss here is mostly focusing on "software rendering", and does not include all the stages of modern graphics APIs and GPUs.
    Links:
    Complete 3D Software Renderer Course: pikuma.com/courses
    Chapters:
    00:00 Intro
    00:35 An Overview
    02:00 The Stages of a Simple Pipeline
    02:12 Local Space
    03:30 World Space
    05:24 Camera Space
    06:53 Backface Culling
    07:43 Perspective Projection
    09:48 Clipping Space
    11:38 Image Space & NDC
    13:36 Screen Space & Rasterization
    12:32 Modern Graphics Pipelines & GPUs
    16:32 Conclusion & Next Steps
    In computer graphics, a computer graphics pipeline (or rendering pipeline), is a conceptual model that describes what steps a graphics system needs to perform to render a 3D scene to a 2D screen.
    Once a 3D model has been created, for instance in a video game or any other 3D computer animation, the graphics pipeline is the process of turning that 3D model into what the computer shows to the user using pixels.
    There is no universal graphics pipeline suitable for all cases. However, graphics APIs - such as Direct3D or OpenGL - were created to unify similar steps and to control the graphics pipeline of a given hardware accelerator. These APIs abstract the underlying hardware and keep the programmer away from writing code to manipulate the graphics hardware accelerators (AMD/Intel/NVIDIA etc.).
    For comprehensive courses on computer science, programming, and mathematics, visit:
    www.pikuma.com
    Don't forget to subscribe to receive updates and news about new courses and tutorials:
    / @pikuma
    Enjoy!
  • Наука та технологія

КОМЕНТАРІ • 19

  • @SoCalWildman
    @SoCalWildman 2 роки тому +32

    The 3D Graphics Programming course is by far one of the best online courses I have ever completed. Highly recommended!

    • @KarlPhillipBuhr
      @KarlPhillipBuhr 2 роки тому +1

      Agreed 100%

    • @rodolfoc.nascimento6301
      @rodolfoc.nascimento6301 3 місяці тому

      I can say that this video is the most completely rendering pipeline explanation I've seen in my whole life. thanks to pikuma

  • @clehpton
    @clehpton Рік тому +1

    Great content Gustavo, very good explanation, you deserves more by your work

  • @Denisfutbol
    @Denisfutbol 2 роки тому +4

    great explanation!! thanks :)

  • @PabloSanchez-th5em
    @PabloSanchez-th5em 2 роки тому +3

    Pikuma its my place to learn!

  • @xasyo9638
    @xasyo9638 4 місяці тому +1

    Thanks for the vídeo!

  • @gabriel64880
    @gabriel64880 2 місяці тому

    Excellent video, a shame I didn’t find it sooner

  • @joaquimjesus6134
    @joaquimjesus6134 Рік тому

    can i use DIB's for work with image\pixel... or theres another win32 method?(i know the DirectX\OpenGL, but i'm trying avoid them)
    correct me: speaking on 3D Lines: is only necessary(for don't use too much CPU) just projecting the Start and End points... or all line points?

  • @manuelfuertes6295
    @manuelfuertes6295 2 місяці тому

    @pikuma Another quick question: Do UI libraries like CoreGraphics on macOS, use GDI on Windows use a different kind of pipeline? I would guess that UI graphics libraries require only Screen-space coordinates since there's not need for projections

  • @manuelfuertes6295
    @manuelfuertes6295 2 місяці тому

    I thought Perspective divide is a result of applying a perspective projection matrix. is you could either manually divide all the vertices by their z components, or you could simply multiply them by the matrix. Do you also do a perspective divide when using an orthographic projection matrix?
    Great video. I'd really appreciate an answer to my question. Thank you very much in advance

    • @pikuma
      @pikuma  2 місяці тому +1

      No, orthographic projection does not have a perspective divide.
      And I understand. It's not common to think of perspective divide to be something separate from the perspective projection matrix, but it is. The division by z (or w in this case) happens *after* the perspective projection matrix.

    • @manuelfuertes6295
      @manuelfuertes6295 2 місяці тому

      @@pikuma Thanks for the response.

  • @fernandojavierbianchi431
    @fernandojavierbianchi431 10 місяців тому +1

    quiero el cursoo

  • @tseringdhoundup2624
    @tseringdhoundup2624 2 роки тому +1

    need more

  • @nekoreee
    @nekoreee 2 місяці тому

    Halo yang bsok test grafkom 👋

  • @dclxviclan
    @dclxviclan Рік тому +2

    Edward Northon

  • @zany3238
    @zany3238 2 роки тому +3

    Qi

  • @dclxviclan
    @dclxviclan Рік тому

    Main tittle in video how main tittle film "Fight club"