Giter Site home page Giter Site logo

Mach::GL is an OpenGL game engine that combines the ease of high-level programming with the control of low level access.

How to install:

  • For all platforms ensure you have git installed.

Windows (Support for VS 2019 & 2022):

  • Create a directory and navigate to it using: cd path_to_directory.
  • Run the command (INCLUDE the dot at the end) git clone https://github.com/machgl/MachGL . (Note this will not clone some required modules - see next command).
  • Run the command git submodule update --init --remote.
  • Within the working directory double-click on the windows_build_vs2019.bat or windows_build_vs2019.bat file (depending on target IDE). This will make a VS solution file which can be opened.
  • Once VS is open, right click on the 'Sandbox' project and select 'Set Default Startup Project'.
  • Build the solution.

MacOS (Support for XCode only):

  • Create a directory and navigate to it using: cd path_to_directory.
  • Run the command (INCLUDE the dot at the end) git clone https://github.com/machgl/MachGL . (Note this will not some required modules - see next command).
  • Run the command git submodule update --init --remote to clone the required modules from third-party vendors.
  • Run the command ./macos_build_xcode.sh to build the xcode workspace.
  • Open the generated XCode workspace file and navigate in the menu bar to Product -> Scheme and click on 'Sandbox'.
  • Build the solution.
Note (MacOS Only)

Once the solution has been built, the 'CoreAssets' folder in MachGL must be copied into the build directory (To be fixed).

Current features:

  • High performance 2D & 3D renderers
  • Framebuffers
  • OBJ file loading
  • Texture mipmapping and anisotropic filtering
  • Random terrain generation
  • Keyboard & mouse input
  • GLSL shader loaders
  • HDR
  • Static environment maps for objects (from loaded cubemap)
  • Dynamic skyboxes
  • API Abstraction
  • Dynamic enviornment maps for objects
  • Scenes

Currently working on:

  • Particle system
  • Texture atlases
  • Documenting code
  • Post-processing effects (bloom effects etc.)
  • Scene file saving/loading (using YAML)

Features I want to add soon:

  • Scene editor
  • Mesh simplifier
  • Normal maps
  • Shadows
  • Lua scripting
  • FBX file loading (for faster 3D object loading)
  • OpenAL support
  • 3D physics using PhysX (including a non-nVidia alternative)
  • Vulkan support

If you have any questions or issues feel free to file an issue on this GitHub page or email me at: [email protected]

James Kenny's Projects

glfw icon glfw

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

hazelaudio icon hazelaudio

Hazel Audio is an audio library designed for Hazel

machgl icon machgl

A multi-platform OpenGL game engine that combines the ease of high-level programming with the control of low-level access.

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.