载入中...
搜索中...
未找到
src
modules
audio
SceneLinks.cpp
浏览该文件的文档.
1
// Registers the scene link kind backed by audio: a positional 3D source that
2
// follows its node.
3
//
4
// audio::Source has no liveness API, so no `alive` callback is supplied and the
5
// link is assumed alive until explicitly unlinked.
6
7
#include "
audio/Source.h
"
8
#include "
scene/SceneHost.h
"
9
#include "
scene/SceneLink.h
"
10
11
namespace
eve::audio
{
12
namespace
{
13
14
using
eve::scene::SceneNode
;
15
16
void
pushSource3D(
const
SceneNode &
n
,
void
*target) {
17
auto
*
s
=
static_cast<
Source *
>
(target);
18
s
->setPosition(
n
.world[3][0],
n
.world[3][1],
n
.world[3][2]);
19
}
20
21
struct
Register {
22
Register() {
eve::scene::registerLinkKind
({
"audio3d"
, &pushSource3D,
nullptr
,
nullptr
}); }
23
} g_register;
24
25
}
// namespace
26
}
// namespace eve::audio
n
glm::vec3 n
Definition
Grass.cpp:64
SceneHost.h
SceneLink.h
Source.h
s
uint32_t s
Definition
Weather.cpp:28
eve::audio
Definition
Audio.cpp:18
eve::scene::registerLinkKind
int registerLinkKind(const LinkOps &ops)
Definition
SceneLink.cpp:27
eve::scene::SceneNode
Retained scene node (arena). Conceptual GameObject; isomorphic to eve::ui::UINode.
Definition
SceneHost.h:39