Skip to content
A Raytracer utilizing OpenCL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A Raytracer utilizing OpenCL.
Written by Mark Becker, Cameron Brown
    Project description
      General-purpose computing on graphics processing units (GPGPU) is a relatively new field
      that uses the graphical processing unit’s (GPU) processing architecture. GPUs are normally
      used for computer graphic computation. We are using this many-core architecture to perform
      computations on very large data sets using the GPU’s parallelization capabilities.

      We designed and developed a ray tracer that demonstrates the OpenCL framework.
      A suite of benchmark tests were developed to compare relative run times. Benchmarks were
      run on these systems using native C code on the CPU, and OpenCL using both the CPU
      and GPU. The project had three main parts: building the ray tracer, utilizing the OpenCL
      framework, creating the benchmarks.

    Developed and tested on...
    • Mark's Desktop:
      • OS - Windows 7 Professional 64-bit
      • CPU - Intel Core i5 760 @ 2.80GHz
      • MB - ASUS P7P55D-E Pro
      • VC - ATI Radeon HD 5750
    • Cameron's Desktop:
      • OS - Windows 7 Professional 64-bit
      • CPU - Intel Core i7 2500K @ 4ghz
      • VC - ATI Radeon HD 6950

    What is a Ray tracer?
      Ray tracing is a technique that generates an image by tracing the path of light through
      pixels in an view plane and simulating the effects of its intersections with virtual objects.
      Ray tracing is capable of producing an image of photo-realistic quality. usually higher than
      that of scan-line rendering methods. Unfortunately this level of realism comes at a greater
      computational cost.
    • More info from Wikipedia

    What is OpenCL?
      OpenCL (Open Computing Language) is an industry standard framework for programming computers
      composed of a combination of CPUs, GPUs, and other processors. OpenCL includes a
      language (based on C99) for writing kernels (functions that execute on OpenCL devices) and
      APIs that are used to define and control the platforms. OpenCL provides parallel computing
      using task-based and data-based parallelism.
    • More info from Wikipedia

    Run and build details...
    • Write up coming soon

    System Requirements
    • Windows OS
    • Visual Studio 2010 or above to compile
    • ATI Video card - Radeon 5500 or above
    • AMD's APP SDK installed and working
    • Intel's OpenCL SDK

Environment Adjuster GUI:
Screenshot 1
Click for larger

Output GUI:
Screenshot 1
Click for larger

Primitive Adjuster GUI:
Screenshot 2
Click for larger

You can’t perform that action at this time.