⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 openallistener.h

📁 游戏音频程序设计-Beginning.Game.Audio.Programming
💻 H
字号:
// OpenALListener.h: interface for the COpenALListener class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_OPENALLISTENER_H__6D74522D_7824_4DE6_8CC1_D4703078C103__INCLUDED_)
#define AFX_OPENALLISTENER_H__6D74522D_7824_4DE6_8CC1_D4703078C103__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <al.h> // main openAL header file
#include <alu.h> // Open AL utilities header
#include <stdio.h>

class COpenALListener  
{
public:
	COpenALListener();
	virtual ~COpenALListener();

  void SetPosition(float x, float y, float z) { alListener3f(AL_POSITION, x, y, -z); }
  void GetPosition(float &x, float &y, float &z) {
    x = y = z = 0.0f;
    alGetListener3f(AL_POSITION, &x, &y, &z);
    z *= -1;
  }

  void SetVelocity(float x, float y, float z) { alListener3f(AL_VELOCITY, x, y, -z); }
  void GetVelocity(float &x, float &y, float &z) {
    x = y = z = 0.0f;
    alGetListener3f(AL_VELOCITY, &x, &y, &z);
    z *= -1;
  }

  void SetOrientation(float lookatx, float lookaty, float lookatz, float upx, float upy, float upz) { 
    float values[6];
    values[0] = lookatx; values[1] = lookaty; values[2] = -lookatz;
    values[3] = upx;     values[4] = upy;     values[5] = -upz;
    alListenerfv(AL_ORIENTATION, values);
  }
  void GetOrientation(float &lookatx, float &lookaty, float &lookatz, float &upx, float &upy, float &upz) {
    float values[6];
    alGetListenerfv(AL_ORIENTATION, values);
    lookatx = values[0]; lookaty = values[1]; lookatz = -values[2];
    upx = values[3];     upy = values[4];     upz = -values[5];
  }

  void SetGain(float value) { alListenerf(AL_GAIN, value); }
  float GetGain() {
    float value = 0.0f; alGetListenerf(AL_GAIN, &value);
    return(value);
  }





};

#endif // !defined(AFX_OPENALLISTENER_H__6D74522D_7824_4DE6_8CC1_D4703078C103__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -