Shader Environment Builder

Summary

Brief info on the project

My Role

Director, User Interface, Error Handling

Time Frame

6 Months

# of People

Myself
6 Programmers

Platform

Mac and Linux

Language

C++11 compiled with 64-bit Clang++

IDE

Qt 5.6

About the Project

A run-down of what the project is
A group programming project: an OpenGL Shading Language(GLSL) Interactive Development Environment(IDE) created using C++ and OpenGL. Currently only for the use of Vertex and Fragment GLSL shaders. Shader Environment Builder (SEB) utilizes an advanced text editor, an OpenGL Context for rendering Vertex-Fragment shaders, the loading of textures and meshes into the shaders, and the changing of uniforms in real-time. It also incorporates a project management system for saving, opening and exporting shaders, and also full logging of GLSL errors into the GUI.

The program allows for creating new projects from pre-existing shader segments and whole shader files that can be used as a basis. The text editor has all the features required for advanced text editing such as auto-completion, text highlighting, error line markers, brace matching, auto indentation, line commenting, a search function, and brace auto-completion. You can edit all the Vec3s, Vec4s and scalar uniforms of the shader program that is running the GLSL as well as modify the camera settings. There are also debug options for viewing the Normals and Wireframe of the model.

This was my first group C++ programming project and I feel it was a huge success. The whole team managed to work closely and effectively together. We managed to produce a functioning program that is both useful and allows for creating shaders in a much more efficient manner.


The Team

The amazing team that worked with me on this project

Ellie Ansell

JSON & XML Import/Export, Camera Manager

Anand Hotwani

Compile Error Handling, Texture Mapping

Sandy la Tourelle

Shader Manager, Projects, Importing GLSL Files

Jonny Lyddon

Processing Uniforms, Dynamic widgets for user edits

Phil Rouse

QScintilla Implementation, GLSL Lexer using Flex

Adam Ting

Parsing Uniform Values, Managing Uniform Data, Importing OBJ files

Download

Where you can access this project
This project is under the GNU General Public License v3.0. Click here for more information.

Gallery

Screenshots of the project

Leave a Reply

The Forager

The Forager is a platform, puzzle game of a creature with botanical abilities that explores and traverses an infected forest. By exploiting the enchanted ways of the environment, the Forager must reach the heart of the forest, the Tree of Life, to unveil the reason behind this unexplained corruption.

About Me

England-based technical artist, computer graphics designer, programmer and games designer who strives to create work that not only meets your needs but is to a level that I, myself, am proud of. Currently an Associate Technical Artist at Splash Damage. A first class honours graduate at the NCCA, Bournemouth University after studying a BA (Hons) Computer Visualisation & Animation.

All the Socials!
RSS
Follow by Email
Facebook
Twitter
LinkedIn
Google+
YouTube
Pinterest
Instagram
%d bloggers like this: