Difference between revisions of "3D Fundamentals Tutorial 9"

From Chilipedia
Jump to: navigation, search
(Video)
(Video)
Line 13: Line 13:
 
</div>
 
</div>
 
* Refactoring of the <code>gfx.PutPixel(...)</code> function in <code>Pipeline.h<code> [https://youtu.be/pef2405M-os?t=2m04s 2:04]
 
* Refactoring of the <code>gfx.PutPixel(...)</code> function in <code>Pipeline.h<code> [https://youtu.be/pef2405M-os?t=2m04s 2:04]
 
+
:* This is where we are ultimately determining the color of the pixel
* ... [https://youtu.be/pef2405M-os?t=0m20s 0:20]
+
:* Inside the PutPixel function, we want to call a shader object that defines the coloring behavior
 +
* Implementation of the programmable pixel shader stage in the pipeline [https://youtu.be/pef2405M-os?t=3m11s 3:11]
 +
:* We template the pipeline class on an <code><class Effect></code>
 +
:* We will adjust the definition of the <code>Vertex</code> class depending on what effect we are using
 +
:* We  adjust the PutPixel call as:
 +
::
 
* ... [https://youtu.be/pef2405M-os?t=0m20s 0:20]
 
* ... [https://youtu.be/pef2405M-os?t=0m20s 0:20]
 
* ... [https://youtu.be/pef2405M-os?t=0m20s 0:20]
 
* ... [https://youtu.be/pef2405M-os?t=0m20s 0:20]

Revision as of 19:45, 1 June 2020

In this tutorial we incorporate our first shader stage into the 3D pipeline: the pixel shader stage. We also explore some basic example pixel shaders (more heavy-duty stuff to come later).

Video

The tutorial video is on YouTube here.


  • What is a Pixel Shader and why is it used? 0:20
  • We want to make color mapping of the triangles in the rendering pipeline configurable
  • One way is to use templated function objects (functors) as "plug-in" code
  • These functors determine the color of the pixel based on their input
  • Refactoring of the gfx.PutPixel(...) function in Pipeline.h<code> 2:04
  • This is where we are ultimately determining the color of the pixel
  • Inside the PutPixel function, we want to call a shader object that defines the coloring behavior
  • Implementation of the programmable pixel shader stage in the pipeline 3:11
  • We template the pipeline class on an <code><class Effect>
  • We will adjust the definition of the Vertex class depending on what effect we are using
  • We adjust the PutPixel call as:

Downloads

The GitHub repository for the tutorial code is here.

See also