diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2018-08-23 01:05:26 +0300 |
---|---|---|
committer | Ander Conselvan de Oliveira <ander.deoliveira@mapbox.com> | 2018-09-13 08:42:36 +0300 |
commit | 05a7b78aa866720245022805410aae92bb887fa6 (patch) | |
tree | 1979e724d148cdb9c3a9fe2aac80f718a41c65b5 /src/mbgl/gl/cull_face_mode.hpp | |
parent | e4e43bb54fbc519464083300aef295abc4ee095b (diff) | |
download | qtlocation-mapboxgl-05a7b78aa866720245022805410aae92bb887fa6.tar.gz |
[core] Add face culling mode parameter to Program::draw
Add a parameter to Program::draw to control whether face culling should
be enabled. This will be used in a follow up commit to enable face
culling for fill extrusion layers.
Diffstat (limited to 'src/mbgl/gl/cull_face_mode.hpp')
-rw-r--r-- | src/mbgl/gl/cull_face_mode.hpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/mbgl/gl/cull_face_mode.hpp b/src/mbgl/gl/cull_face_mode.hpp new file mode 100644 index 0000000000..a408d7a88c --- /dev/null +++ b/src/mbgl/gl/cull_face_mode.hpp @@ -0,0 +1,40 @@ +#pragma once + +#include <cstdint> + +namespace mbgl { +namespace gl { + +class CullFaceMode { +public: + enum CullFace : bool { + Disable = false, + Enable = true, + }; + + enum CullFaceSide : uint32_t { + Front = 0x0404, + Back = 0x0405, + FrontAndBack = 0x0408, + }; + + enum FrontFace : uint32_t { + Clockwise = 0x0900, + CounterClockwise = 0x0901 + }; + + CullFace cullFace; + CullFaceSide side; + FrontFace frontFace; + + static CullFaceMode disabled() { + return CullFaceMode { Disable, CullFaceSide::Back, FrontFace::CounterClockwise }; + } + + static CullFaceMode backCCW() { + return CullFaceMode { Enable, CullFaceSide::Back, FrontFace::CounterClockwise }; + } +}; + +} // namespace gl +} // namespace mbgl |