tomcrypto / final-project Goto Github PK
View Code? Open in Web Editor NEWOur computer graphics final project for 2014 at Victoria University of Wellington.
License: MIT License
Our computer graphics final project for 2014 at Victoria University of Wellington.
License: MIT License
============================== COMP308 2014T2 - Final Project ============================== Joseph Zachariah Sim (300263896) [email protected] Thomas Beneteau (300250968) [email protected] 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/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.