Category Archives: Uncategorized

Well yeah now f…

Well yeah now finally i was able to convert the recursive problem to iterative, hence the raytracing has been achieved. Currently i am setting a trace depth of three so that the process stops tracing after three depth levels.

I now a specular highlites and reflective surfaces showing up.Image

Just a quick test render i got from my tracer. I will work a little more on the setting of Anit -Aliasing and DOF.

Next steps-:

Depth of Field


Interactive camera.

I might not be do all the extras but lets see and give it a try !


Raytracer progress II

Now i think i have somthing decent showing up. I got the diffused surfaces working shadows are working.

To calculate i did DOT(light_direction, object normal)*Material_color.

And to calculate shadows we send the rays from the light source to the point of intersection and see if the ray intersects any object on the way.





Now i serioulsly wish i had rendered out in some better colors 🙂

Pretty renders will be coming out soon.

Next steps-:

Speular reflection 

Raytrace shadows


Ray tracer Progress

Well finally i do have the intersections test working and shadows almost done. This mean i will be having a flat shaded image  with shadows soon.

Things that are left to be implemented are-:



Diffuse shading

Which means next couple of days are gonna be very rough !

Ray tracer Project !!

Hello guys,

I am super excited to write this bolg as it includes two on my favorite projects in Computer graphics ie making a Raytracer and then extending it to be a pathtracer.

The ultimate purpose of this project is to serve as the foundation for the next project: a full CUDA based global illumination pathtracer. Raytracing can be thought of as a way to generate an isolated version of the direct light contribution in a global illumination scenario.

In this project, we are given code for:

  • Loading, reading, and storing the TAKUAscene scene description format
  • Example functions that can run on both the CPU and GPU for generating random numbers, spherical intersection testing, and surface point sampling on cubes
  • A class for handling image operations and saving images
  • Working code for CUDA-GL interop

We will need to implement the following features:

  • Raycasting from a camera into a scene through a pixel grid
  • Phong lighting for one point light source
  • Diffuse lambertian surfaces
  • Raytraced shadows
  • Cube intersection testing
  • Sphere surface point sampling

We are also required to implement at least 2 of the following features:

  • Specular reflection
  • Soft shadows and area lights
  • Texture mapping
  • Bump mapping
  • Depth of field
  • Supersampled antialiasing
  • Refraction, i.e. glass
  • OBJ Mesh loading and renderin
  • Interactive camera

I am super excited to get started. I hope i keep updating the blog regularly even though i am pretty sure this is not gonna happen 🙂

Lets get started!!