Code Monkey home page Code Monkey logo

em_tracing's Introduction

EM_tracing

About the name

'EM' means 'Electromagnetic Waves'. However not many EM related functions at this point.

Introduction

EM_tracing is a software based on Nvidia Optix Ray Tracing Engine. A big part of the code came from ingowald/optix7course.

Building the code

This code requires CMake (version 3.18 or higher) to build. MSVC 2019 and Clang 10.0.0 C++ compiler under Windows 10 has been tested to build successfully. (Theoretically other combinations of compilers and OS like GCC under Linux should also work)

Dependencies

Important settings and parameters

set_target_properties(CudaPTX PROPERTIES
...
CUDA_ARCHITECTURES 75-real # Set your GPU architecture (important)
...
)
  • Also in /CMakeLists.txt, _OBJ_FILE. Change it to match your .obj file path
#Set your OBJ file path
target_compile_definitions(EM_tracing PUBLIC _OBJ_FILE="${PROJECT_SOURCE_DIR}/models/sponza.obj")

Controlling

  • Use left, middle, right mouse button to drag and scroll
  • Press w, s, a, d to move
  • Press =, - to control drag speed, alt + =, - to control move speed
  • Press p, l to switch between pin-hole camera and 360 degree camera (not working properly at the moment)
  • Press r, t to switch between normal rendering mode and phase detection mode
  • Press c to check current camera information

em_tracing's People

Contributors

gzfrozen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.