- 2011 - A trip through the Graphics Pipeline 2011
- 2015 - Life of a triangle - NVIDIA's logical pipeline
- 2015 - Render Hell 2.0
- 2016 - How bad are small triangles on GPU and why?
- 2017 - GPU Performance for Game Artists
- 2019 - Understanding the anatomy of GPUs using Pokémon
- 2020 - GPU ARCHITECTURE RESOURCES
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Projects the specified position (point) onto the plane with the specified origin and normal. | |
float3 projectOnPlane(float3 position, float3 origin, float3 normal) | |
{ | |
return position - dot(position - origin, normal) * normal; | |
} | |
// Computes the shading position of the specified geometric position and vertex positions and | |
// normals. For a triangle with normals describing a convex surface, this point will be slightly | |
// above the surface. For a concave surface, the geometry position is used directly. | |
// NOTE: The difference between the shading position and geometry position is significant when |