Skip to content

adrientoub/MyMaya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyMaya Build Status

Description

A simple 3D computer graphics software.

This project is divided in two parts:

  • The GUI application written in Java consisting of:
    • A WYSIWIG 3D editor to model your scenes
      • You can add primitives or complex meshes from .obj files
      • Each scene can be saved to a .scene file for further image generation.
    • Its own scripting language
      • Able to edit the scene
      • Each visual action is recorded and added to history in a repeatable form
      • Can be loaded from file to generate complex scenes and animations
      • For more information about the language
  • The Raytracer written in C++:
    • Taking scenes as input and generating the corresponding image in PPM.

Compatibility

Supported platforms are:

  • Windows x64 (tested on Windows 10)
  • Linux x64

Raytracer

Sample images

Raytraced box with reflection

Dependencies

  • A C++ compiler with C++14 compatibility
    • If the compiler supports OpenMP it will be used to speed up the renders
  • Cmake (version 2.8 or up)

This was tested on:

  • Windows 10 with VS2017
  • Ubuntu with clang++ 3.8
  • Ubuntu with g++ 4.9, 5.0 and 6.0

Build

Windows

To compile the Raytracer on Windows you can use Cmake to generate a Visual Studio Solution or just simply use the Open Directory feature of VS2017.

When the project is open in Visual Studio we recommend to compile using the Release preset (instead of Debug) in order to get the best performance possible.

Linux

cd raytracer
make

Usage

After creating a scene file with the GUI application, it is possible to run the raytracer to make a realistic render of this scene.

./raytracer/_build/raytracer your_input.scene out.ppm

This will generate a PPM file.

You can view this PPM file using diverse image viewer or convert it to popular image formats using a program like ImageMagick. With ImageMagick you can just launch:

convert out.ppm out.jpg

To convert the output image to JPG.

GUI

Dependencies

  • Java 8.0 with JavaFX support
  • Gradle

Build

To build the project you can simply use Gradle:

gradle run

Usage

TODO