Skip to content

Levoxyl/RayTracer2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Features

  • Real-time ray tracing engine
  • Multiple 3D object formats supported
  • Python-based GUI
  • Cross-platform support (Windows,Linux,MacOS)
  • PNG output via STB library

How to use

System requirments

  • 4GB RAM (8GB recommended)
  • 1GB free disk space
  • Dedicated GPU for more complex scenes

Development Tools Required

Tool Version Installation
Git 2.35+ Download
CMake 3.15+ Download
MinGW-w64 GCC 9.0+ Download
Python 3.8+ Download
vcpkg Latest Instructions
Ninja 1.10+ Download

Setup guide

1. Clone Repository

git clone https://github.com/YourUsername/RayTracer2.0.git
cd RayTracer2.0

2. Install vcpkg

# From project root
git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat

3. Install Dependencies

# Install Assimp
.\vcpkg\vcpkg install assimp:x64-windows

# Set up vcpkg integration
.\vcpkg\vcpkg integrate install

4. Install Python Dependencies

pip install PyQt6

Build Instructions

Windows (MinGW)

# Create build directory
mkdir build
cd build

# Configure with CMake
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake

# Build
cmake --build . --config Release

Alternative Generator (Ninja)

cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM="path/to/ninja.exe"
cmake --build . --config Release

Run the Application

# Run Python GUI
cd gui
python app.py

Configuration Options

Set these in CMake:

# Use different build system
cmake .. -G "Visual Studio 17 2022" -A x64

# Build debug version
cmake .. -DCMAKE_BUILD_TYPE=Debug

Troubleshooting

Common Issues

  1. Python GUI not loading DLL:
    • Verify DLL path in gui/app.py
    • Check architecture matches (64-bit Python for 64-bit build)

About

C++ Ray Tracer with Python GUI

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors