Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 8, 2009, 10:07:04 AM (15 years ago)
Author:
rgrieder
Message:

At last, found the sound bug: A long time ago somebody wrote AL_POSITION instead of AL_ORIENTATION and the orientation of the listener was updated AFTER the position.
Also fixed a problem with the wrong quaternion axis for the listener orientation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation2/src/orxonox/sound/SoundManager.cc

    r6265 r6269  
    251251    {
    252252        // update listener orientation
    253         Vector3 up = orientation.xAxis(); // just a wild guess
    254         Vector3 at = orientation.zAxis();
    255 
    256         ALfloat orient[6] = { at.x, at.y, at.z,
    257                               up.x, up.y, up.z };
    258 
    259         alListenerfv(AL_POSITION, orient);
     253        const Vector3& direction = -orientation.zAxis();
     254        const Vector3& up = orientation.yAxis();
     255
     256        ALfloat orient[6] = { direction.x, direction.y, direction.z, up.x, up.y, up.z };
     257
     258        alListenerfv(AL_ORIENTATION, orient);
    260259        ALenum error = alGetError();
    261260        if (error == AL_INVALID_VALUE)
Note: See TracChangeset for help on using the changeset viewer.