Git Product home page Git Product logo

custom-gameengine's Introduction

Custom-GameEngine

This is an experimental OpenGL graphics engine for testing some of the current technology implementation

Collusion Detection

Octat trees have been used for collision detection. Programs allow custom collision mesh also it assigns a sphere collusion that fits the model automatically.

Collusion Response

A rigid body is assigned to each of the objects to decide how objects behave in the world. Right now it only has a bounce response but the class is easily modifiable and all kinds of rigid body responses can be added.

Ray Collusion

There is a ray collusion. Right now response is just to delete the hit object but can be easily modified. Users can emit rays by clicking a left mouse button.

Input System

There is a classic OpenGL callback input system for the keyboard, mouse, and also joystick.

Shaders and Shadows

Right now engine only accepts base color and normal textures. Tangent space is calculated for normal maps and the normal texture effect can be closed by pressing 'N'. There is global illumination (ambient, specular, diffuse). Blinn-Phong lighting is implemented and can be closed when pressing 'B'. Skybox is implemented using Cubemaps. 3 Types of light implemented these lights are: Point Light, Spot Light, Directional light All types of light have shadow maps. (Spotlight shadow is not working properly right now)

Scene class

Scene class is to create unique scenes with different parameters and frame buffers. This is the main function to create a new scene and environment. There is no save functionality right now but planning to add one. Also movement of the objects with gismo UI.

Rigs and Animtation

TO_DO

This tutorial has been followed for most of the code: https://github.com/michaelg29/yt-tutorials/tree/master/CPP/OpenGL

custom-gameengine's People

Contributors

utkualkan4112 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.