Posts

Showing posts from November, 2022

Distribution Ray Tracing

Image
 Part 3: Distributed Ray Tracing Hello everyone, in this post I will be explaining how I extended my ray tracer to a distributed ray tracer. What is distributed ray tracing? It is a method first introduced by a paper in 1984 [1]. Distributed ray tracing is a method of ray tracing that solves the some of the problems of classic ray tracing. Some of these problems being unable to render depth of field effect, motion blur, soft shadows and rough reflective surfaces. These problems occur due to nature of classic ray tracing. As you know in ray tracing we trace the light by geometry calculations and as a result we get precise results like sharp objects and sharp shadows. In order to solve this we are going to use multisampling and as bonus we will get a distributed ray tracing with effects such as motion blur, soft shadows, rough reflective surfaces (like brushed metal) and depth of field. What is Multisamping and Why? In order to understand multisampling and the problem of ali...

Part 2: Gotta Go Fast/Power of Linear Algebra

Image
Part 2: Gotta Go Fast/Power of Linear Algebra   Hello everybody, In this post I will be explaining the details of my second homework of Advanced Ray Tracing . This Homework consists of two parts. First part is about implementing an acceleration structure for ray tracing. The other is about linear transformations and object instancing. Acceleration Structures      Before going into details I want to start by explaining what the acceleration structures are. If you you remember my first blog post or know anything about ray tracing at all, you should know that in ray tracing we send a ray from camera through each pixel and depending on the object/objects that ray is intersecting we determine that pixel's color by doing shading computations. Obviously in this process we need to choose the closest object to the eye. I don't know if you have noticed or not but this is basically a search algorithm. And would you look at that there are ways to optimize search algorithms. Fro...