Skip to content

RZ-01/Myraytracer

Repository files navigation

Myraytracer

Introduction

Create a raytracer with bare C++ (No Graphics Library Included), built to handle various materials, light sources, and geometric shapes, providing a foundational framework for generating realistic images.

Features

  • Realistic Material Simulation: The ray tracer supports various materials, each with unique optical properties, includes:

    • Diffuse surfaces that scatter light in many directions.
    • Reflective materials that create mirrors and shiny surfaces.
    • Transparent materials with refraction to simulate glass and liquids.
  • Dynamic Lighting: Implements point light sources with adjustable intensity and position.

  • Environment Mapping: Utilizes high-resolution environment maps to simulate distant scenery and reflections, adding depth and immersion to the scenes.

  • Reflection and Refraction: Accurately models the reflection and refraction of light, taking into account the material's specular characteristics and index of refraction for realistic visual effects.

Results

4k

Usage

  • Download all files and open .sln project (visual studio)
  • Or Download Geo.h and main.cpp (only 2 files needed) and compile on your own

Future Work

  • Anti-Aliasing: To smooth out jagged edges and improve image quality.
  • More Geometric Primitives: Adding support for planes, boxes, and triangles to create more complex scenes.
  • Advanced Material Models: Implementation of more sophisticated material models including subsurface scattering and metallic reflections.
  • High-Performance Parallel Computing: Utilize the computational power of modern GPUs (CUDA), enabling real-time rendering capabilities even for complex scenes with high levels of detail.

About

Simple 3D Scene Rendered by Raytracing technique

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published