Skip to content

A 3D ray-tracing program that renders computer generated images.

Notifications You must be signed in to change notification settings

madeleineher/RT

Repository files navigation

RT

A 3D ray-tracing program that renders computer generated images.
A 42 project done with Jeongmo Bae (@jebae), Samuel Boniface (@sabonifa), and Alexandru Moraru (@almoraru).

dof

A scene including 80% of the features in this project.

INSTALLATION

Web Interface

  • Install Node.js

RT Program

Run make inside the repo.

$ make path/to/repo

LAUNCHING

RT Program

  • The program takes an xml scene file as the input, you can create your own or use the already created scenes.
  • Modified files modified and saved are rerendered due to hot-loading implemented in project.
$ ./rtv1 scenes/file_name.xml

Web Interface

  • To properly launch the web interface, the following command needs to be executed in the interface directory.
$ node interface/index.js

FEATURES

RT

  • 11 Objects: cone, cylinder, plane, sphere, box, ellipsoid, ring, parabaloid, pyramid, rectangle, and triangle.
  • Shadows
  • Multispot Lighting
  • Spherical and directional lighting
  • Ambient lighting
  • Filters: grey, blur, sepia, and negative
         -> For filter add the following tag to the XML file (but not within the objects tag):
      <filter>sepia | grey | negative | blur</filter>
  • Cel-shading (cartoon effect)      -> For cel-shading add the following tag to the XML file (but not within the objects tag):
      <cel_shading>true | false</cel_shading>
  • Translation and rotation (camera and shapes)
  • XML parsing and debugging
  • Refraction, reflection, and transparency
  • Texture mapping
          -> For texture mapping add the following tag to the XML file:
      <texture>
        <file>name_of_file</file>
        <reapeat>1</repeat>
      </texture>
  • Texture bumping
          -> For texture bumping add the following tag to the XML file:
      <bump_map>
        <file>name_of_file</file>
        <reapeat>1</repeat>
      </bump_map>
  • Rotation and translation
  • Multithread computation
  • Hot-loading
  • Color

WEB INTERFACE

  • Live update of xml file

dof

The interface's welcome page.

  • Modify camera or add a new object (Note: The modified file will automatically be rerendered due to hot-loading technique implemented in our program.)

dof

The interface form for adding a new object to the chosen XML file.

EXAMPLES

dof

A scene including texture maping, reflection, and transparency.

dof

A scene including texture mapping and tranparency.

About

A 3D ray-tracing program that renders computer generated images.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published