This is the first of hopefully many devlogs into the development of Aurora Framework. Everything is still very barebone but we decided it would be a good idea to keep you updated on our progress. So for this purpose we will now be putting out these devlogs every 1 month.
In each devlog, we will provide a little summary of what has changed in every module of the framework.
You can generate an image by writing pixel per pixel into a raw buffer and then save it as PNG, JPEG, etc… Here is some cool outputs:
GLSL Shaders Loader
You can now dynamically load all type of GLSL shaders into you OpenGL context.
GEngine::GLShader *sunshader_vert = new GEngine::GLShader(GEngine::Vertex); sunshader_vert->compileFromSource(IO::readFile("apps/tests/gengine/rsrc/sun.vert").c_str());
Using a simple shader provided on github, you can have this beautiful output:
Also using the buitin input handler, you can move this “sun” arround the opengl window and change the size and color using your keyboard.
Graphical User Interface
We created a simple structure for GUI based on GTK+ 3:
Here is some simple results:
Command Line Interface
Thinking about new Debugging and Logging System based on android Logcat:
Sound and 3D Audio
We implemented basic audio playback, and started working on 3D audio. We also made a testing audio app that will later evolve to a full-fledged CLI music player, including some 3D features to showcase Aurora.
Right now it has some limitations though, such as the fact it can’t read .MP3 files, it only can output audio and the sample rate is hardcoded. We will, however, fix most of these problems soon.
To use Aurora’s audio capabilities, we made it so it would be super simple:
AudioStream music("music.ogg"); // Opens the music file music.volume = 0.8f; // Volume at 80% from original source music.play(); music.pause(); music.stop();
And in case you want 3D audio, it’s also super simple:
AudioSource source(3, 5, -2) // x, y and z AudioListener::getInstance().position = Math::Vector3D(0, 1, 2); music.setSource(source);
This changes were made proudly by all the contributors of this project. Check out the official repositories on github.