I would like to indroduce the engine (or just the library) that I'm currently working on. I have never show it at this site, but may be it can be useful for someone.
Home page
License: GNU GPL 2 or later
Implementation: C++
Platforms: Linux (primary), Windows
Target audience: This library was developed with just one mind in my head: "That's a real hell to implement even simple sprite objects in raw OpenGL + X11, so there should be some library that let me or anyone else to do that in several lines of the code without eliminating me with features I am going to implement." So, target audience is game developers (primary 2D games) that could reuse this code in their projects (may be even partly). It could be useful and easy to use for anyone who worked with DirectX (DX10 or DX11 especially), because it uses similar terms. It operates in terms of GPU states. I suppose that anyone who does not want to be bound by restrictions of different libraries could find something in it, because you are able to manage diffferent states of the GPU if you want. If not, engine will do this stuff by itself. Possibly, it could be an intermediate level layer between hardware and high level engine (some map editor, for example), because it contains high level C++ classes for every GPU object: texture, shader, buffer and so on..
Disadvantages: At the current moment I see two primary disadvantages. At first, possibly it is difficult to use, because GPU states concept is not very easy. At the second, currently, there are no visual tools for it. Really, the first point is not a great disadvantage, but, actually, it is, because of unusual approach. Here, at this point, community feedback is mostly needed. What do you think of these disadvantages?
Features
Here I will try explain what's interesting you may find in the library (I am still do not know if it is a library or graphics engine.. In fact, they are the same )
* Cross-platform library (Linux + Win OS)
* I am trying to make it easy for start: I have prepared 13 sample programs that uses different parts of the library and several lessons that could be useful to start. And still in progress with some new. Lessons cover basic usage of the engine: sprites, shaders, system events, GUI system, tiling, splatting (to form different terrains) and others...
* Font rendering system that generates font maps on a fly. No need to prepare them - just create font and use it in your game. One of the samples shows how this technique works in details.
* Shaders. You may use them to reach any effect you wish.
* Different classes to work with sprites (animation / movements)
* Fully GPU accelerated. You can really use power of GPU to process images. One of the sample shows how to create Sobel's filter using GPU.
* GUI system included. There is no need in implementing boring GUI system for your games.
* Messaging system to support events from the Window System.
I am not sure that I have some really nice screenshots to show..
May be just only example of the GUI:
If you have an idea for sample program or some kind of lesson (for example, about some part of the library or "how-to" style article about some effect) it is highly appreciated. The same is for features.
On this forum you may found a simple game that uses this engine. It is included in the source code archive of the library.
Sources: The latest sources freely available at http://svn.1gb.ru/eengine with login / password: "guest"
In case if you find this library useful for you and will use it for your game feel free to mail me [alapshin87 at gmail dot com] with questions or some proposals relating game or the engine / samples (may be with request of some feature or anything else). I am really very interested in any suggestions.
Thanks to everyone who has already helped me with this project, samples or lessons! And great thanks for anyone who will provide feedback on this project I will really appreciate it!
P.S. Sorry for my English