/* KWin - the KDE window manager This file is part of the KDE project. SPDX-FileCopyrightText: 2023 Xaver Hugl SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include "kwin_export.h" #include #include #include #include #include namespace KWin { class KWIN_EXPORT GlLookUpTable3D { public: explicit GlLookUpTable3D(GLuint handle, size_t xSize, size_t ySize, size_t zSize); ~GlLookUpTable3D(); GLuint handle() const; size_t xSize() const; size_t ySize() const; size_t zSize() const; void bind(); static std::unique_ptr create(const std::function &mapping, size_t xSize, size_t ySize, size_t zSize); private: const GLuint m_handle; const size_t m_xSize; const size_t m_ySize; const size_t m_zSize; }; }