Ocular Engine
RasterState.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_GRAPHICS_RASTER_STATE__H__
19 #define __H__OCULAR_GRAPHICS_RASTER_STATE__H__
20 
21 //------------------------------------------------------------------------------------------
22 
27 namespace Ocular
28 {
33  namespace Graphics
34  {
38  enum class FillMode : uint32_t
39  {
40  Solid = 0,
41  Wireframe,
42  Undefined
43  };
44 
48  enum class CullMode : uint32_t
49  {
50  None = 0,
51  Front,
52  Back,
53  Undefined
54  };
55 
59  enum class CullDirection : uint32_t
60  {
61  CounterClockwise = 0,
62  Clockwise,
63  Undefined
64  };
65 
69  enum class PrimitiveStyle : uint32_t
70  {
71  TriangleList = 0,
72  TriangleStrip,
73  PointList,
74  LineList,
75  LineStrip,
76  Undefined
77  };
78 
92  struct RasterState
93  {
94  FillMode fillMode;
95  CullMode cullMode;
96  CullDirection cullDirection;
97  PrimitiveStyle primitiveStyle;
98 
101  };
102  }
106 }
111 OCULAR_REGISTER_TYPE_CUSTOM(Ocular::Graphics::FillMode, Ocular::Utils::TypeName<uint32_t>::name);
112 OCULAR_REGISTER_TYPE_CUSTOM(Ocular::Graphics::CullMode, Ocular::Utils::TypeName<uint32_t>::name);
113 OCULAR_REGISTER_TYPE_CUSTOM(Ocular::Graphics::CullDirection, Ocular::Utils::TypeName<uint32_t>::name);
114 OCULAR_REGISTER_TYPE_CUSTOM(Ocular::Graphics::PrimitiveStyle, Ocular::Utils::TypeName<uint32_t>::name);
115 
116 //------------------------------------------------------------------------------------------
117 
118 #endif
bool enableMultisampling
Enables/disable RenderTexture antialiasing.
Definition: RasterState.hpp:99
PrimitiveStyle primitiveStyle
Determines how vertex data is interpreted.
Definition: RasterState.hpp:97
CullDirection cullDirection
Determines what is considered front/back-facing triangles.
Definition: RasterState.hpp:96
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Utility structure to convert a type T to a string representation.
Definition: Types.hpp:66
bool enableLineAntialiasing
Enables line primitive antialiasing.
Definition: RasterState.hpp:100
CullMode cullMode
Determines what type of triangles to cull.
Definition: RasterState.hpp:95
FillMode fillMode
Determines if triangles are filled during rasterization.
Definition: RasterState.hpp:94
Definition: RasterState.hpp:92