Cogs.Core
CullingData.h
1#pragma once
2
3#include <vector>
4
5#include <glm/glm.hpp>
6
7#include "Utilities/FrustumClassification.h"
8#include "Services/TaskManager.h"
9
10namespace Cogs
11{
12 namespace Core
13 {
14 class Context;
15
17 {
18 size_t count = 0;
19 std::vector<glm::vec3> bbMinWorld;
20 std::vector<glm::vec3> bbMaxWorld;
21 };
22
24 {
25 Context * context = nullptr;
26 const CullingSource* source = nullptr;
27 size_t viewportIndex = 0;
28 size_t hash = 0;
29
30 glm::mat4 viewMatrix;
31 glm::mat4 viewProjection;
32
33 std::vector<FrustumPlanes> results;
34 std::vector<float> depths;
35
36 TaskId task = NoTask;
37 };
38 }
39}
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Task id struct used to identify unique Task instances.
Definition: TaskManager.h:20