Simulant
21.12-1292
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
simulant
nodes
geoms
quadtree_culler.h
1
#pragma once
2
3
#include <memory>
4
#include "geom_culler.h"
5
#include "../../vertex_data.h"
6
7
namespace
smlt
{
8
9
class
RenderableFactory;
10
11
struct
_QuadtreeCullerImpl;
12
13
class
QuadtreeCuller
:
public
GeomCuller
{
14
public
:
15
QuadtreeCuller
(
Geom
* geom,
const
MeshPtr mesh, uint8_t max_depth);
16
17
AABB
Quadtree_bounds()
const
;
18
19
private
:
20
void
_compile(
const
Vec3
&pos,
const
Quaternion
&rot,
const
Vec3
&scale)
override
;
21
void
_gather_renderables(
const
Frustum
&frustum,
batcher::RenderQueue
* render_queue)
override
;
22
void
_all_renderables(
batcher::RenderQueue
* render_queue)
override
;
23
24
std::shared_ptr<_QuadtreeCullerImpl> pimpl_;
25
26
IndexType index_type_ = INDEX_TYPE_16_BIT;
27
uint8_t max_depth_;
28
};
29
30
}
smlt::Frustum
Definition:
frustum.h:43
smlt::Geom
The Geom class.
Definition:
geom.h:48
smlt::Vec3
Definition:
vec3.h:25
smlt::Quaternion
Definition:
quaternion.h:22
smlt
Definition:
animation.cpp:25
smlt::batcher::RenderQueue
Definition:
render_queue.h:169
smlt::GeomCuller
Definition:
geom_culler.h:32
smlt::QuadtreeCuller
Definition:
quadtree_culler.h:13
smlt::AABB
Definition:
aabb.h:22
Generated by
1.8.20