Tech/LxEngine
From Athile
Overview
Contents |
LxEngine is a C++ application platform and build environment designed for developing visualization and simulation applications, research, games, and testing. LxEngine uses common standards and implementations such as XML, Javascript (via Google V8), OpenGL 3.2+, Bullet Physics, an other proven technologies familiar to the development community.
It is still in early development, but any and all feedback on the project would be most welcome!
LxEngine provides a full build environment that automatically provides the source, compiles, and links to various other toolkit such as the Boost Libraries, Google V8, the OGRE graphics engine, Bullet Physics, OpenAL, and more. Especially on the Windows platform, this allows development to focus on new code and minimize time spent on build setup and engineering. Likewise, LxEngine itself is provied with a lenient MIT license, making the SDK a useful starting code base to fork off a graphics intensive C++ project.
The platform provides a concise, high-level Document Object Model similar to that of HTML: thus providing a well-known, documented interface from which to immediately start working. Various subsystems, plug-ins, and extensions then can be pulled into the slim core API to provide custom behavior. A good deal of effort has been put into keeping the system efficient yet loosely-coupled to ensure easy reuse of components and rapid development.
To see more about the SDK before downloading, check out the tutorials and samples.
Getting Started
- Getting Started on Windows with Visual Studio 2010
- Getting Started on Linux - (not yet supported)
Table of Contents
ReleasesRoadmap |
Tutorials & SamplesContent
|
Documentation
|
- Regular Development Workflow - modifying code, committing code, requesting pulls, etc.
- Advanced Development - forking the engine, building a new application, adding submodules, etc.
Contributing
Coordinating efforts to contribute to LxEngine...
Types of Contributions
Contributions to the engine generally fall into one of several larger buckets:
- Tasks - small todo-like items that usually take anywhere from an hour to a couple days
- Features - major new subsystems that may entail much larger amounts of work
- Defects - at this early stage of development defects are not formally tracked and are instead bundled with Tasks
Please see the forums if you're looking for a task or project.
Clause on Contributions
A bit of important fine print...(followed by an explanation of why!)...
In order to maintain my freedom as a developer on this code base, contributions to the main athile technologies branch of LxEngine (and all associated repositories owned by athile technologies) can only be accepted if the contributor grants athile technologies irrevocable and perpetual rights to the contributed code as if the contribution had been written by athile technologies itself. This includes but is not limited to the ability to discard, modify, relicense, sell, and any other action that would be valid were athile technologies the original author of the code. The contributor maintains full rights to their own code (as well as the ability to fork any open source branch of athile technologies code according to the stated license) but agrees to grant those same full rights of the author to athile technologies as well.
Why?
The purpose of this clause is to grant freedom to athile technologies to continue develop the code base in any manner unencumbered by complex multiple author copyrights, licenses, or clauses. (Most open source companies enforce such a clause for their contributors to ensure proper control of their own projects. There is not a malicious plan behind this clause!)
Page Index
Note: this is a listing of all pages under the LxEngine page. This may include out of date pages that no longer contain accurate information.