CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
PrimitiveTopology.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
12
15
16#include <initializer_list>
17
18namespace CeresEngine {
19
95
96} // namespace CeresEngine
97
99template<> struct std::hash<CeresEngine::PrimitiveTopology> {
100 inline size_t operator()(const CeresEngine::PrimitiveTopology object) const noexcept { return CeresEngine::hash(object.raw); }
101};
102
103
#define CE_STRUCT_ENUM_DECL(T)
Definition StructEnum.hpp:49
Definition StructEnum.hpp:18
UInt32 UnderlyingType
Definition StructEnum.hpp:20
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
Primitive topology enumeration.
Definition PrimitiveTopology.hpp:21
UInt32 getVertexCount() const noexcept
Gets the number of vertices in a single primitive.
static const constexpr auto values
Definition PrimitiveTopology.hpp:80
@ TriangleListAdjacency
Adjacency triangle list, which is similar to TriangleList but each triangle edge has a corresponding ...
Definition PrimitiveTopology.hpp:63
@ LineLoop
Line loop, which is similar to LineStrip but the first and last vertices generate yet another line pr...
Definition PrimitiveTopology.hpp:36
@ Lines
Line list, where each pair of two vertices represents a single line primitive.
Definition PrimitiveTopology.hpp:28
@ Points
Point list, where each vertex represents a single point primitive.
Definition PrimitiveTopology.hpp:24
@ LineStripAdjacency
Adjacency line strip, which is similar to LineStrip but each end point has a corresponding adjacent v...
Definition PrimitiveTopology.hpp:46
@ Triangles
Triangle list, where each set of three vertices represent a single triangle primitive.
Definition PrimitiveTopology.hpp:50
@ LineListAdjacency
Adjacency line list, which is similar to LineList but each end point has a corresponding adjacent ver...
Definition PrimitiveTopology.hpp:41
@ LineStrip
Line strip, where each vertex generates a new line primitive while the previous vertex is used as lin...
Definition PrimitiveTopology.hpp:32
@ TriangleStripAdjacency
Adjacency triangle strips which is similar to TriangleStrip but each triangle edge has a correspondin...
Definition PrimitiveTopology.hpp:68
@ TriangleFan
Triangle fan, where each vertex generates a new triangle primitive while all share the same first ver...
Definition PrimitiveTopology.hpp:58
@ Patches
Patches with control points that are accessible in a tessellation shader.
Definition PrimitiveTopology.hpp:72
@ TriangleStrip
Triangle strip, where each vertex generates a new triangle primitive with an alternative triangle win...
Definition PrimitiveTopology.hpp:54
enum CeresEngine::PrimitiveTopology::@27 raw