CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
GLFence.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 "OpenGL.hpp"
11
13
15
16namespace CeresEngine {
17
18 class GLFence final : public GPUFence, public GLDeviceObject<GLFence, GPUFence> {
19 private:
22
25
26 public:
31
34
35 public:
37 void reset() final;
38
41
42 public:
44 [[nodiscard]] GLuint handle() const { return mFence; }
45 };
46
47} // namespace CeresEngine
unsigned int GLuint
Definition GLLoader.hpp:733
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
Definition OpenGL.hpp:117
Definition GLFence.hpp:18
GLFence(GLDevicePtr device, const GPUFenceDescriptor &descriptor)
Creates a new GLFence object.
GLuint mFence
The OpenGL fence object.
Definition GLFence.hpp:24
GLuint handle() const
Definition GLFence.hpp:44
const GPUFenceDescriptor descriptorGL
A structure that describes the fence and it's properties.
Definition GLFence.hpp:21
void reset() final
~GLFence() final
Destroys the GLFence object.
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUFence.hpp:29
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition Application.hpp:19
std::uint64_t UInt64
Definition DataTypes.hpp:26
auto wait()
Awaits (and blocks) until the continuation has finished running.
Definition Async.hpp:226
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition GPUFence.hpp:23