Difference between revisions of "3D Fundamentals Tutorial 8"

From Chilipedia
Jump to: navigation, search
(Video)
(Video)
Line 6: Line 6:
  
 
<div class="mw-collapsible mw-collapsed"><br />
 
<div class="mw-collapsible mw-collapsed"><br />
* ... [https://youtu.be/UaOJxtWxICc?t=0m14s 0:14]
+
* Major refactoring, implementinng a <code>Pipeline</code> class: Why? [https://youtu.be/aeU8eVAExMQ?t=0m10s 0:10]
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
:* ...
+
:* Get rid of a lot of redundancy in the code
 +
:* Introduce a structure to develop specific parts of the D3D10 Graphics Pipeline
 +
:* Effective way to deal with proliferation of effects and settings related to graphics
 
</div>
 
</div>
 +
* The fixed function pipeline [https://youtu.be/aeU8eVAExMQ?t=3m00s 3:00]
 +
* Code refactoring/implementation: walks-through [https://youtu.be/aeU8eVAExMQ?t=5m35s 5:35]
 +
* Implementing <code>Pipeline.h</code> [https://youtu.be/aeU8eVAExMQ?t=5m51s 5:51]
 +
<div class="mw-collapsible-content">
 +
:* The pipeline works through a series of nested function calls (representing the stages of the pipeline)
 +
:* The <code>Draw()</code> function [https://youtu.be/aeU8eVAExMQ?t=6m24s 6:24]
 +
:* The <code>Vertex</code> used throughout the pipeline [https://youtu.be/aeU8eVAExMQ?t=6m32s 6:32]
 +
:* The <code>ProcessVertices()</code> function. Applies rotatioin & translation transformations [https://youtu.be/aeU8eVAExMQ?t=7m25s 7:25]
 +
:* The <code>AssembleTriangles()</code> function. Assembles vertex stream into triangles, culls and passes on triangle vertices (three at a time) [https://youtu.be/aeU8eVAExMQ?t=8m06s 8:06]
 +
:* The <code>ProcessTriangles</code> function. Placeholder for the Geometry Shader (implemented later). Creates a <code>Triangle</code> object and passes on [https://youtu.be/aeU8eVAExMQ?t=8m47s 8:47]
 +
:* The <code>PostProcessTriangleVertices()</code> function. Transforms into screen space and calls the draw function. [https://youtu.be/aeU8eVAExMQ?t=9m42s 9:42]
 +
:* The <code>DrawTriangle()</code> function. Same basic triangle drawing function that splits into flat top and flat bottom triangles and call <code>DrawFlatTriangle</code> with appropriate parameters [https://youtu.be/aeU8eVAExMQ?t=10m01s 10:01]
 +
 +
 +
 +
 +
</div>
 +
  
 
</div>
 
</div>

Revision as of 05:29, 22 May 2020

Here we set up the pipeline that is going to form the scaffolding for our model of the 3D graphics processing. In the coming videos, we are going to be replacing units of fixed functionality in this pipeline one by one with programmable shader stages.

Video

The tutorial video is on YouTube here.


  • Major refactoring, implementinng a Pipeline class: Why? 0:10
  • Get rid of a lot of redundancy in the code
  • Introduce a structure to develop specific parts of the D3D10 Graphics Pipeline
  • Effective way to deal with proliferation of effects and settings related to graphics
  • The fixed function pipeline 3:00
  • Code refactoring/implementation: walks-through 5:35
  • Implementing Pipeline.h 5:51
  • The pipeline works through a series of nested function calls (representing the stages of the pipeline)
  • The Draw() function 6:24
  • The Vertex used throughout the pipeline 6:32
  • The ProcessVertices() function. Applies rotatioin & translation transformations 7:25
  • The AssembleTriangles() function. Assembles vertex stream into triangles, culls and passes on triangle vertices (three at a time) 8:06
  • The ProcessTriangles function. Placeholder for the Geometry Shader (implemented later). Creates a Triangle object and passes on 8:47
  • The PostProcessTriangleVertices() function. Transforms into screen space and calls the draw function. 9:42
  • The DrawTriangle() function. Same basic triangle drawing function that splits into flat top and flat bottom triangles and call DrawFlatTriangle with appropriate parameters 10:01




Downloads

The GitHub repository for the tutorial code is here.

3D Graphics History

Coming soon!

See also