Simulant
21.12-574
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
simulant
partitioners
frustum_partitioner.h
1
/* * Copyright (c) 2011-2017 Luke Benstead https://simulant-engine.appspot.com
2
*
3
* This file is part of Simulant.
4
*
5
* Simulant is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU Lesser General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* Simulant is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with Simulant. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include "../partitioner.h"
22
23
namespace
smlt
{
24
25
class
SubActor;
26
27
class
FrustumPartitioner
:
public
Partitioner
{
28
public
:
29
FrustumPartitioner
(
Stage
* ss):
30
Partitioner
(ss) {}
31
32
void
lights_and_geometry_visible_from(
33
CameraID
camera_id,
34
std::vector<LightID> &lights_out,
35
std::vector<StageNode*> &geom_out
36
);
37
38
private
:
39
void
apply_staged_write(
const
UniqueIDKey& key,
const
StagedWrite
& write);
40
};
41
42
}
smlt::StagedWrite
Definition:
partitioner.h:46
smlt::Stage
Definition:
stage.h:80
smlt::Partitioner
Definition:
partitioner.h:55
smlt
Definition:
animation.cpp:25
smlt::FrustumPartitioner
Definition:
frustum_partitioner.h:27
smlt::UniqueID< CameraPtr >
Generated by
1.8.20