Feature

This page is a feature - something someone had thought of and wants to implement into Inexor. You can help with your knowledge and skills to make this happen!

Status: concept

Audio Engine

As part of Inexor's overall refactoring strategy, it's audio engine will be redesigned and rewritten from the ground up build on OpenAL. Inexor currently still uses Cube2's old audio code.

Goals

  • Multithreading
  • Asynchronous resource loading
  • Class-based code design

GPU-based 3D sound propagation algorithm ?

Realistic 3D graphics in realtime are quite developed these days. 3D sound propagation however is still not really in the focus of development. Sadly there is no open source library for this to this day. Time to change this!

this1 this2 this3

The goal is to implement module_sound in order to further refactor and modularize Inexor's code.

Until now Inexor is using Cube2's old sound system which uses SDL_Mixer. It has no class design and is not documented at all which makes maintaining it quite unpleasant. We will also implement new features for inexor's sound system. This code is mostly separated from other code parts so the refactoring progress shouldn't be too complicated.

Proposed tooling:

  • OpenAL
  • ALMixer