KWin
Loading...
Searching...
No Matches
gllut.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2023 Xaver Hugl <xaver.hugl@gmail.com>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10
11#include "kwin_export.h"
12
13#include <QVector3D>
14#include <QVector>
15#include <epoxy/gl.h>
16#include <functional>
17#include <memory>
18
19namespace KWin
20{
21
22class KWIN_EXPORT GlLookUpTable
23{
24public:
25 explicit GlLookUpTable(GLuint handle, size_t size);
27
28 GLuint handle() const;
29 size_t size() const;
30
31 void bind();
32
33 static std::unique_ptr<GlLookUpTable> create(const std::function<QVector3D(size_t value)> &func, size_t size);
34
35private:
36 const GLuint m_handle;
37 const size_t m_size;
38};
39
40}