RenderingPipeline

from geometry to pixels

Rendering

Ray-Tracing Hardware

Ray-Tracing vs. Rasterization The question which of these techniques is “better” is nearly as old as the field of computer graphics itself. As ray-tracing simulates light transport it is simple to get realistic images using this technique. This is why it is often used when realism is the top priority, e.g. in rendering movies. Rasterization […]

 

, , , , , ,

Happy Birthday Phong Shading

This month kind of marks the birthday of two very influential techniques in computer graphics: Phong Shading and the Phong Lighting Model. Both were published in the paper “Illumination for Computer Generated Pictures” 40 years ago in the Communications of the ACM in June 1975. While¬†Bui Tuong Phong published his works also in his PhD […]

 

, , , , ,

Measuring Input Latency

To deliver a convincing virtual reality experience it is not enough to ensure a high update rate of the (e.g. visual) feedback for the user. The amount of delay between a user input and the change of the systems output is crucial to trick the user to believe to actually be part of the simulated […]

 

, , ,

Book Review: GPU Pro, GPU Pro 2, GPU Pro 3

The GPU Pro book series is some kind of unofficial successor of the quite good ShaderX series. Both are edited by Wolfgang Engel and both are focused on real-time graphics programming. The first book of this series, GPU Pro, came out 2010 and presents 41 articles on 706 pages (not counting the author introduction at […]

 

, , , , , , , ,

GPU Rasterizer Pattern

Visualizing the pattern in which the fragment processors are called for the individual fragments are some kind of ‘Hello World’ for atomic counters. The order in which the fragments generated by a draw call are created and the fragment shaders are calles are not defined, so the hardware can choose each order that best matches […]

 

, , , , ,

Attribute-less rendering

The first step of the rendering pipeline is to fetch application provided data from one or multiple places (think of array buffers) and pass them as attributes into the vertex shader stage. This fetch can be controlled by an index and N attributes will get pulled from M arrays. The details are not so important […]

 

, , ,