Skip to content

TomCrypto/final-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                        ==============================
                        COMP308 2014T2 - Final Project
                        ==============================

Joseph Zachariah Sim (300263896)                           simjose@myvuw.ac.nz
Thomas Beneteau (300250968)                             benetethom@myvuw.ac.nz

This is our final project for COMP308, which consists of rendering a realistic
sky and convincing lens flares using physically-based techniques, efficiently.

We used C++ with OpenGL, and used a few libraries to help us implement various
parts of the project - notably, FreeImage, for fast and flexible image loading
and simple image processing, FFTW for calculating two-dimensional fast Fourier
transforms (an important part of the lens flare pipeline) and AntTweakBar, for
the simple GUI widget used to interact with our program.

The code is written in standard C++11 and should run on Visual Studio 2012 and
later, g++, clang++, and the Intel C++ compiler on Linux. OpenGL 3.0 required.

Instructions
------------

    To build and run the program, please use the provided Makefile. A solution
    file Project.sln is also available for Visual Studio (>= 2012) on Windows.

    The compiled program will be generated in the `bin` folder and can then be
    run, note that the working directory of the program is the `bin` folder so
    for Windows double-clicking will work, for Linux please cd into the folder
    before executing the program, e.g. as follows:

        $ make deps        # if dependencies are not installed
        $ make
        $ cd bin && ./Project
        $ cd ..

    IMPORTANT: if GLEW fails to build, just ignore the error and run make. The
    university computers should already have it installed by default anyway.

    To navigate the demo, drag the cursor using the left mouse button or right
    click then move the mouse around, and use WASD to move the camera. The 'c'
    key makes the camera go downwards, space makes it go upwards - hitting the
    escape key will close the project - and the various program parameters are
    available for modification in the graphical user interface (tweak bar).

Folder Contents
---------------

    The different folders and their respective purpose are enumerated below:

        - `bin`: output folder for the final executable
        - `doc`: supporting documentation (paperwork, SIGGRAPH papers)
        - `lib`: third-party libraries, excluding OpenGL-related libs
        - `res`: assets used in our project (textures, models, etc.)
        - `src`: C/C++ source code and headers

    The `src/core` folder contains the actual implementations of the different
    rendering subsystems. The `src/gui` folder contains only source pertaining
    to the user interface, and `src/utils` general purpose utilities. Note the
    different vertex and fragment shaders are in the `res/shaders` folder.

External Links
--------------

http://glm.g-truc.net/0.9.5/index.html
http://anttweakbar.sourceforge.net/
http://freeimage.sourceforge.net/
http://freeglut.sourceforge.net/
http://glew.sourceforge.net/
http://www.fftw.org/

About

Our computer graphics final project for 2014 at Victoria University of Wellington.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published