mirror of https://github.com/bjornbytes/lovr.git
Add support for HRTF under emscripten;
This commit is contained in:
parent
00726fe89e
commit
a2a90f5c85
|
@ -21,6 +21,31 @@ elseif(UNIX)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# PhysicsFS
|
||||||
|
set(PHYSFS_BUILD_STATIC OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_7Z OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_GRP OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_WAD OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_HOG OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_MVL OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_ARCHIVE_QPAK OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_BUILD_TEST OFF CACHE BOOL "")
|
||||||
|
set(PHYSFS_BUILD_WX_TEST FALSE CACHE BOOL "")
|
||||||
|
if(EMSCRIPTEN)
|
||||||
|
option(PHYSFS_ARCHIVE_ZIP OFF)
|
||||||
|
add_subdirectory(deps/physfs physfs)
|
||||||
|
include_directories(deps/physfs/src)
|
||||||
|
set(LOVR_PHYSFS physfs)
|
||||||
|
elseif(WIN32)
|
||||||
|
add_subdirectory(deps/physfs physfs)
|
||||||
|
include_directories(deps/physfs/src)
|
||||||
|
set(LOVR_PHYSFS physfs)
|
||||||
|
else()
|
||||||
|
find_package(PhysFS REQUIRED)
|
||||||
|
include_directories(${PHYSFS_INCLUDE_DIR})
|
||||||
|
set(LOVR_PHYSFS ${PHYSFS_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
# Assimp
|
# Assimp
|
||||||
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "")
|
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "")
|
||||||
set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "")
|
set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "")
|
||||||
|
@ -145,11 +170,13 @@ endif()
|
||||||
set(ALSOFT_UTILS OFF CACHE BOOL "")
|
set(ALSOFT_UTILS OFF CACHE BOOL "")
|
||||||
set(ALSOFT_EXAMPLES OFF CACHE BOOL "")
|
set(ALSOFT_EXAMPLES OFF CACHE BOOL "")
|
||||||
set(ALSOFT_TESTS OFF CACHE BOOL "")
|
set(ALSOFT_TESTS OFF CACHE BOOL "")
|
||||||
if (WIN32)
|
if(EMSCRIPTEN)
|
||||||
|
include_directories(deps/openal-soft/include)
|
||||||
|
elseif(WIN32)
|
||||||
add_subdirectory(deps/openal-soft openal)
|
add_subdirectory(deps/openal-soft openal)
|
||||||
include_directories(deps/openal-soft/include)
|
include_directories(deps/openal-soft/include)
|
||||||
set(LOVR_OPENAL OpenAL32)
|
set(LOVR_OPENAL OpenAL32)
|
||||||
elseif(NOT EMSCRIPTEN)
|
else()
|
||||||
pkg_search_module(OPENAL openal-soft)
|
pkg_search_module(OPENAL openal-soft)
|
||||||
if (NOT OPENAL_FOUND)
|
if (NOT OPENAL_FOUND)
|
||||||
pkg_search_module(OPENAL openal)
|
pkg_search_module(OPENAL openal)
|
||||||
|
@ -185,31 +212,6 @@ if(NOT EMSCRIPTEN)
|
||||||
set(LOVR_OPENVR openvr_api)
|
set(LOVR_OPENVR openvr_api)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# PhysicsFS
|
|
||||||
set(PHYSFS_BUILD_STATIC OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_7Z OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_GRP OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_WAD OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_HOG OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_MVL OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_ARCHIVE_QPAK OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_BUILD_TEST OFF CACHE BOOL "")
|
|
||||||
set(PHYSFS_BUILD_WX_TEST FALSE CACHE BOOL "")
|
|
||||||
if(EMSCRIPTEN)
|
|
||||||
option(PHYSFS_ARCHIVE_ZIP OFF)
|
|
||||||
add_subdirectory(deps/physfs physfs)
|
|
||||||
include_directories(deps/physfs/src)
|
|
||||||
set(LOVR_PHYSFS physfs)
|
|
||||||
elseif(WIN32)
|
|
||||||
add_subdirectory(deps/physfs physfs)
|
|
||||||
include_directories(deps/physfs/src)
|
|
||||||
set(LOVR_PHYSFS physfs)
|
|
||||||
else()
|
|
||||||
find_package(PhysFS REQUIRED)
|
|
||||||
include_directories(${PHYSFS_INCLUDE_DIR})
|
|
||||||
set(LOVR_PHYSFS ${PHYSFS_LIBRARY})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# LÖVR
|
# LÖVR
|
||||||
set(LOVR_SRC
|
set(LOVR_SRC
|
||||||
src/api/audio.c
|
src/api/audio.c
|
||||||
|
|
|
@ -15,7 +15,6 @@ void lovrAudioInit() {
|
||||||
lovrThrow("Unable to create OpenAL context");
|
lovrThrow("Unable to create OpenAL context");
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef EMSCRIPTEN
|
|
||||||
static LPALCRESETDEVICESOFT alcResetDeviceSOFT;
|
static LPALCRESETDEVICESOFT alcResetDeviceSOFT;
|
||||||
alcResetDeviceSOFT = (LPALCRESETDEVICESOFT) alcGetProcAddress(device, "alcResetDeviceSOFT");
|
alcResetDeviceSOFT = (LPALCRESETDEVICESOFT) alcGetProcAddress(device, "alcResetDeviceSOFT");
|
||||||
state.isSpatialized = alcIsExtensionPresent(device, "ALC_SOFT_HRTF");
|
state.isSpatialized = alcIsExtensionPresent(device, "ALC_SOFT_HRTF");
|
||||||
|
@ -24,7 +23,6 @@ void lovrAudioInit() {
|
||||||
ALCint attrs[3] = { ALC_HRTF_SOFT, ALC_TRUE, 0 };
|
ALCint attrs[3] = { ALC_HRTF_SOFT, ALC_TRUE, 0 };
|
||||||
alcResetDeviceSOFT(device, attrs);
|
alcResetDeviceSOFT(device, attrs);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
state.device = device;
|
state.device = device;
|
||||||
state.context = context;
|
state.context = context;
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
#include "lib/vec/vec.h"
|
#include "lib/vec/vec.h"
|
||||||
#include <AL/al.h>
|
#include <AL/al.h>
|
||||||
#include <AL/alc.h>
|
#include <AL/alc.h>
|
||||||
#ifndef EMSCRIPTEN
|
|
||||||
#include <AL/alext.h>
|
#include <AL/alext.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue