CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
RendererGeometry.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Forward.hpp"
11#include "Resources/Forward.hpp"
12
14
16
18
19namespace CeresEngine {
20
28
32
36
39
40 public:
41 [[nodiscard]] bool frustumCull(const ConvexVolume& frustum) const noexcept;
42
43 void draw(GPUCommandBuffer& commandBuffer, const UInt32 instanceCount = 1, const UInt32 instanceOffset = 0);
44 };
45
53
65
66} // namespace CeresEngine
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition GPUCommandBuffer.hpp:77
Definition GPUBufferObject.hpp:221
A generator represents a coroutine type that produces a sequence of values of type T,...
Definition Generator.hpp:50
An interface that must be implemented by systems that provide RendererElement instances for rendering...
Definition RendererGeometry.hpp:56
virtual Generator< RendererGeometry > enumerateGeometry(const RendererGeometryEnumerationRequest &enumerationRequest=RendererGeometryEnumerationRequest()) const =0
Enumerates all geometry in the provider.
virtual ~IRendererGeometryProvider() noexcept=default
Definition Optional.hpp:17
An abstract class that represents a renderer material.
Definition RendererMaterial.hpp:31
Definition Application.hpp:19
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Parameters to customize a geometry enumeration request.
Definition RendererGeometry.hpp:47
Optional< const ConvexVolume & > frustum
An optional frustum to be used for frustum culling.
Definition RendererGeometry.hpp:51
A structure that contains information about a single geometry primitive to be drawn by the renderer.
Definition RendererGeometry.hpp:25
void draw(GPUCommandBuffer &commandBuffer, const UInt32 instanceCount=1, const UInt32 instanceOffset=0)
GPUUniformBuffer uniformBuffer
The object uniform buffer.
Definition RendererGeometry.hpp:35
bool frustumCull(const ConvexVolume &frustum) const noexcept
RendererMaterial * material
The renderer material to be used when rendering this geometry with.
Definition RendererGeometry.hpp:38
SubMesh subMesh
The renderer sub-mesh that contains the portion of the mesh that this geometry is represented by.
Definition RendererGeometry.hpp:31
RendererMeshPtr mesh
The renderer mesh that represents the geometry.
Definition RendererGeometry.hpp:27
Definition Mesh.hpp:68