Difference between revisions of "3D Fundamentals Tutorial 12"

From Chilipedia
Jump to: navigation, search
(Video)
(Video)
Line 4: Line 4:
  
 
The tutorial video is on YouTube [https://youtu.be/xcs2IEGVkCk here].
 
The tutorial video is on YouTube [https://youtu.be/xcs2IEGVkCk here].
 +
 +
 +
<div class="mw-collapsible mw-collapsed"><br />
 +
* What is a Vertex Shader (vs) and its position in the pipeline [https://youtu.be/xcs2IEGVkCk?t=0m20s 0:20]
 +
<div class="mw-collapsible-content">
 +
:* A vs takes in vertices of the geometries and applies transformations to them
 +
:* Our current pipeline function <code>ProcessVertices()</code> does this in the most basic form: it applies rotation and translation to move vertices of the mesh from object space to world space
 +
:* In this video, we will be making the vs configurable
 +
</div>
 +
* Code implementation walk-through [https://youtu.be/xcs2IEGVkCk?t=1m14s 1:14]
 +
<div class="mw-collapsible-content">
 +
:* <code>Pipeline.h</code> [https://youtu.be/xcs2IEGVkCk?t=1m14s 1:14]
 +
::- We apply a <code>std::transform()</code> on the vertices vector
 +
::- We create a new datatype <code>VSOut</code>, giving the vs the power to change the datatype of the output vertices
 +
::- Each vertex shader will define its output type
 +
:* <code>Effect::VertexShader</code> [https://youtu.be/xcs2IEGVkCk?t=3m33s 3:33]
 +
:* <code>DefaultVertexShader.h</code> [https://youtu.be/xcs2IEGVkCk?t=4m06s 4:06]
 +
:* Scene definition [https://youtu.be/xcs2IEGVkCk?t=5m02s 5:02]
 +
</div>
 +
</div>
  
 
== Downloads ==
 
== Downloads ==

Revision as of 20:55, 28 June 2020

The vertex shader is the one of the two original shaders introduced in Direct3D 8, and it is the only shader besides the pixel shader that must be provided before triangles can be rendered. It's kind of a big deal.

Video

The tutorial video is on YouTube here.



  • What is a Vertex Shader (vs) and its position in the pipeline 0:20
  • A vs takes in vertices of the geometries and applies transformations to them
  • Our current pipeline function ProcessVertices() does this in the most basic form: it applies rotation and translation to move vertices of the mesh from object space to world space
  • In this video, we will be making the vs configurable
  • Code implementation walk-through 1:14
- We apply a std::transform() on the vertices vector
- We create a new datatype VSOut, giving the vs the power to change the datatype of the output vertices
- Each vertex shader will define its output type
  • Effect::VertexShader 3:33
  • DefaultVertexShader.h 4:06
  • Scene definition 5:02

Downloads

The GitHub repository for the tutorial code is here.

See also