Computer Graphics: Difference between revisions
| (3 intermediate revisions by the same user not shown) | |||
| Line 76: | Line 76: | ||
For example, see | For example, see | ||
* [https://eigen.tuxfamily.org/dox/classEigen_1_1Transform.html Eigen::Transform] | * [https://eigen.tuxfamily.org/dox/classEigen_1_1Transform.html Eigen::Transform] | ||
===Barycentric Coordinates=== | |||
==MVP Matrices== | ==MVP Matrices== | ||
| Line 181: | Line 183: | ||
===Rendering=== | ===Rendering=== | ||
For rasterization, | For rasterization, the render loop typically consists of: | ||
# Render opaque objects front-to-back | # Render the shadow map. | ||
# Render transparent objects back-to-front | # Render all opaque objects front-to-back. | ||
## Opaque objects write to the depth buffer. | |||
# Render all transparent objects back-to-front | |||
## Transparent objects do not write to the depth buffer. | |||
Rendering opaque objects front to back minimizes overdraw, where a pixel gets drawn to multiple times in a single frame. | Rendering opaque objects front to back minimizes overdraw, where a pixel gets drawn to multiple times in a single frame. | ||
Rendering transparent objects back to front is needed for proper blending of transparent materials. | Rendering transparent objects back to front is needed for proper blending of transparent materials. | ||
==Anti-aliasing== | |||
For a high-quality anti-aliasing, you'll generally want to multiple multi-sampling (MSAA). | |||
This causes the GPU to render the depth buffer at a higher resolution to determine the contribution of your fragment shader's color to the final image. | |||
See https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing#:~:text=How%20MSAA%20really%20works%20is,buffer%20to%20determine%20subsample%20coverage for more details. | |||
==More Terms== | ==More Terms== | ||