Code Monkey home page Code Monkey logo

lux's Introduction

Stability

Do I take stability seriously ? No, I feel bad to break something, but I priorise quality and performance so if I feel I can change something for the better, I will do it. If you wish to use any of these libraries, please vendor or copy (but respect the LICENSE)

#Install go get github.com/luxengine/lux

#Lux
Lux is a 3D game engine written almost entirely in Go. We aim to provide our users with powerful and flexible tools to make games (and other 3D application too!). Every lines of code in Lux is coded with the following goal in mind:

  • Performance: code should be fast!
  • Cross platform across all desktop operating systems.
  • Support at least 95% of PC gamers. (currently 98% according to steam hardware survey)
  • Flexibility: You, the programmer, should be able to change ANY part of the pipeline if you wanted to.
  • Usability: If our library feel like crap to use. It probably is. Trying to make you have as much fun as possible when using the tools.

Features:

  • Basic asset loading. (Who doesn't have that :P)
  • OpenGL abstraction layer to make your OpenGL code go-idiomatic.
  • tornago, physic engine made from scratch for go.
  • native float32 math library.
  • Faster and memory friendly matrix library.
  • Image postprocessing pipeline. We have some predefined shaders. eg: cel-shading, fxaa, color manipulation, etc
  • Defered rendering pipeline.
  • Basic shadow mapping.
  • Steam wrapper.

WIP:

  • Particle systems. I've used some but never implemented any, it's actually a lot of fun.
  • Stabilisation, documentation and testing of the rendering pipelines.
  • Open source solution for UI (preferably html).
  • Solution for testing using go framework. Those who tried will quickly realise that every test run in it's own goroutine and that runtime.LockOsThread and TestMain don't help.

Future work:

  • More variety of model loading.
  • More common CG techniques preimplemented, ready to use for developpers.
  • Framework for game mods. (dynamic library loading/initialising)
  • Network game solution.

lux's People

Contributors

hydroflame avatar otraore avatar retval avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

xlab happy-ferret

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.