Coder Social home page Coder Social logo

dtbinh / azurenderplus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from analysiser/azurenderplus

0.0 2.0 0.0 92.79 MB

15869 final project, distributed out-of-core ray tracer

TeX 0.84% CMake 0.14% Objective-C 0.32% C++ 70.35% C 28.33% HTML 0.03%

azurenderplus's Introduction

AzurenderPlus Project Description:

AzurenderPlus is for final project of 15-869: Visual Computing System at CMU.

The goal is to build an out-of-core sort-based deferred ray tracer.

Project proposal page: http://photonmap.blogspot.com/2014/11/15-869-final-project-proposal-cpu-based.html

Change Logs:

11/5/2014

Removed path tracing code and photon mapping code from original Azurender code base for simplicity. This is the baseline.

11/6/2014

Update baseline for the final project. Added azRayPacket class for further working.

12/2/2014

Added OPEN MPI Supports. OPEN MPI libs are required. For Mac OSX: Use Homebrew install openmpi For Ubuntu: Use apt-get

To run the sample code on main.cpp, in your BUILD directory, cd into Debug, do as following:

mpirun -np 4 ./raytracer scenes/dragon_only.scene

Ideally, you should see:

Hello world from processor CMU-853713.WV.CC.CMU.EDU, rank 0 out of 4 processors

Hello world from processor CMU-853713.WV.CC.CMU.EDU, rank 3 out of 4 processors

Hello world from processor CMU-853713.WV.CC.CMU.EDU, rank 1 out of 4 processors

Hello world from processor CMU-853713.WV.CC.CMU.EDU, rank 2 out of 4 processors

12/3/2014

Got multiple machines on GHC running on independent instances simultaneously. To do this, change your .cshrc file, add the following lines for setting up environment variables

setenv PATH "/usr/lib64/openmpi/bin:/usr/local/bin:${PATH}" setenv LD_LIBRARY_PATH "/usr/lib64/openmpi/lib"

Then go to your build directory where the bin file exists, run the ray tracer with following command:

mpirun -np 2 --host 128.2.100.173,128.2.100.175 ./raytracer scenes/dragon_only.scene -r

The two ip addresses are GHC40 and GHC42. -r flag would prevent machines from opening a window, they would instead run the ray tracer on specific scene, and generate two independent png files.

12/4/2014

Created stanford dragon scene for testing. Added MPI basic interface and integrated data structure for ray redistribution through Open MPI. Refactorting of the matrix, ray class for distributed ray tracing. Finished the redistribution of MPI nodes bounding boxes.

12/5/2014 - 12/6/2014

Finished MPI stage for eye ray redistribution, shadow ray distribution and local independent shading.

12/7/2014 - 12/8/2014

Finished node framebuffer merging, refactored original single framebuffer to framebuffer with zbuffer integrated. Now we have a basic rendered result of piled stanford dragon:

alt tag

12/11/2014

There are two different solutions in using MPI, one of them is currently having result like the following. The solution adopts a master-slave model, where all framebuffer updating is done by master. A basic path tracing result is as following:

alt tag [Solution for this is in branch Azurender+++]

azurenderplus's People

Contributors

analysiser avatar

Watchers

James Cloos avatar Do Thanh Binh 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.