Aurora Framework Devlog #1

Hey developers,

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.

Image generation

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:

pseudo-random RGB values generation
pseudo-random binary values generation
Generated RGB Hue

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:

Yellow “sun” generated by a GLSL shader

Also using the buitin input handler, you can move this “sun” arround the opengl window and change the size and color using your keyboard.

Bigger purple “sun”

Graphical User Interface

GTK based structure for GUI

We created a simple structure for GUI based on GTK+ 3:

Here is some simple results:

Test Button on GUI
Test Labels on GUI

Command Line Interface

Current CLI output on Test App

Thinking about new Debugging and Logging System based on android Logcat:

Planned UML Structure of Logging System

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);

Conclusion

This changes were made proudly by all the contributors of this project. Check out the official repositories on github.

I'm a student and low-level developer. My interests range from technology to music. I am also interested in nature and sports. Love C, D and x86 Assembly. Keep it Simple, Goldtist
Posts created 3

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top