## OPT#4:SIMD (part 2 of 2)

In the previous post I introduced the concept of single instruction, multiple data using 4 bytes in a 32-bit unsigned integer, and using Intel’s SSE instructions. Using SSE instructions, a sequence of so-called vector instructions operates on four instances of a single scalar flow. Take the following simple example: vec3…

## Optimizing Trilinear Interpolation

This is going to be a short post. It is about a function that is heavily used in the Lighthouse 2 renderer: FetchTexelTrilinear, which can be found in sampling_shared.h. It roughly looks like this: float4 FetchTexelTrilinear( float lambda, float2 uv, int offset, int width, int height ) { int level0…

## Speeding Up Lighthouse 2

Last week an updated version of the Lighthouse 2 benchmark was released. This version is about 15% faster, and produces images with less noise. In fact, rendering 10 paths per pixels (samples per pixel, or spp) takes as long as it took the February 27 version of the benchmark to…

## OPT#2:LowLevel

Part two of the Art of Software Optimization, in which we explore low level optimization.

## OPT#1:Profiling

First part in a series of blog posts on the Art of Software Optimization.

## Probability Theory for Physically Based Rendering Part 2

This is article 2 in a series of 2. Article 1 can be found here. Integrals in Physically Based Rendering To calculate light transport in a virtual scene we use Kajiyaâ€™s rendering equation: This is the three point formulation of the rendering equation. It describes that light arriving at point…

## Probability Theory for Physically Based Rendering

Introduction Rendering frequently involves the evaluation of multidimensional definite integrals: e.g., the visibility of an area light, radiance arriving over the area of a pixel, radiance arriving over a period of time, and the irradiance arriving over the hemisphere of a surface point. Evaluation of these integrals is typically done…

## Wavefront Path Tracing

Introduction In this article we will explore an important concept used in the recently published Lighthouse 2 platform. Wavefront path tracing, as it is called by NVIDIA’s Laine, Karras and Aila, or streaming path tracing, as it was originally named by Van Antwerpen in his master’s thesis, plays a crucial…

## Source: Voxel Sphere (CPU)

On ray tracing voxel spheres efficiently with bent rays.