Git Product home page Git Product logo

gputracer's Introduction

gpu path tracer

Video:

Controls:

  • mouse movement: look around
  • WS: forward and backward
  • AD: left and right
  • left shift, space: down and up

Dependencies:

  • OpenGL 4.3
  • glew
  • glfw3
  • glm
  • C++11 compiler

gputracer's People

Contributors

vethanis avatar

Stargazers

Myelin Sheath avatar  avatar pudi avatar Konstantin Khomyakov avatar Joachim Beltman avatar Tuan Kuranes avatar Nicolas Sauzede avatar Lion avatar Aiekick avatar Nico Raftis avatar Borislav Stanimirov avatar Michael Campagnaro avatar Asif avatar Rob Jones avatar Antonio Bevilacqua avatar  avatar  avatar Alain Galvan avatar Jesse Talavera avatar Gonçalo Palaio avatar ands avatar Karim Naaji avatar

Watchers

James Cloos avatar Nico Raftis avatar Asif avatar  avatar

Forkers

gomson orb1t-ua

gputracer's Issues

Some questions to modify source code for large open worlds

Dear Lauren,

Your repository has become a great base for learning path tracing and some aspects that are not trivial when implementing it from scratch, we really appreciate your work. Right know we are trying to extend your implementation to open enviroments (like landscapes). I have some issues for which I would really appreciate if you could help with a few advices or directions:
Our current work is held here
https://github.com/cvargas22/Path-Tracer-OpenGL
you can run it as
./prog width height mode
mode: 1 for closed, 2 for open enviroment
(if you would like to extend the citation of your work in the github description please let us know)

  1. When we modify the number of bounces i see an inmediate effect which is what one can expect and its ok. But when I increase the number of steps (from 45 to 1000), I expect to see an increase in quality for each frame, but I dont see any improvement at all. I think I am not understanding where the "quality" part is in the code, related to the amount of sampling. What can be an efficient way for increasing the quality per frame??.Right know as i write this i just realized that i could just run internally a few frames before updating the framebuffer, which would increase the quality per visible frame. Do you know if I can achieve this in a more elegant way inside the shader??

  2. For large open scenarios, I am trying to achieve proper lighting and shadows as they look in open fields (shadow areas not too illuminated but neither black). As a skybox, I inserted large blue (very large) walls to simulate the sky with no emittance and an spherical light as the "sun". My problem at this moment is that the "sun" light rays are not parallel as they should be, and the second problem is that I cannot produce shadow silluetes, just dark areas as an ambient occlusion effect. It feels as the global illumination effect is still too much for a open field scenario.

I would really appreciate any advice and many thanks in advance.

how make open world

Hi, i'm using your path tracer and made some changes like move the light by keyboard, and other things, im trying to create a open world, to see how the algorithm (path tracer) change and improves the scene, i remove the walls and ceiling from the depth shader but all the scene turns black and only see the spheres, light and floor. Can you help me please? thx

PD: sorry for my bad english, im from Chile (south america)

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.