Antkeeper  0.0.1
texture-2d.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 Christopher J. Howard
3  *
4  * This file is part of Antkeeper source code.
5  *
6  * Antkeeper source code is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Antkeeper source code is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #include <engine/gl/texture-2d.hpp>
21 
22 namespace gl {
23 
24 texture_2d::texture_2d(std::uint16_t width, std::uint16_t height, gl::pixel_type type, gl::pixel_format format, gl::transfer_function transfer_function, const std::byte* data):
25  texture(width, height, false, type, format, transfer_function, data)
26 {}
27 
28 void texture_2d::resize(std::uint16_t width, std::uint16_t height, gl::pixel_type type, gl::pixel_format format, gl::transfer_function transfer_function, const std::byte* data)
29 {
30  texture::resize(width, height, type, format, transfer_function, data);
31 }
32 
33 void texture_2d::resize(std::uint16_t width, std::uint16_t height, const std::byte* data)
34 {
36 }
37 
39 {
40  texture::set_wrapping(wrap_s, wrap_t);
41 }
42 
43 } // namespace gl
texture_2d(std::uint16_t width, std::uint16_t height, gl::pixel_type type=gl::pixel_type::uint_8, gl::pixel_format format=gl::pixel_format::rgba, gl::transfer_function transfer_function=gl::transfer_function::linear, const std::byte *data=nullptr)
Definition: texture-2d.cpp:24
void set_wrapping(gl::texture_wrapping wrap_s, texture_wrapping wrap_t) override
Sets the texture wrapping modes.
Definition: texture-2d.cpp:38
void resize(std::uint16_t width, std::uint16_t height, gl::pixel_type type, gl::pixel_format format, gl::transfer_function transfer_function, const std::byte *data) override
Resizes the texture.
Definition: texture-2d.cpp:28
Abstract base class for 1D, 2D, 3D, and cube textures which can be uploaded to shaders via shader inp...
Definition: texture.hpp:47
virtual void resize(std::uint16_t width, std::uint16_t height, std::uint16_t depth, gl::pixel_type type, gl::pixel_format format, gl::transfer_function transfer_function, const std::byte *data)
Resizes the texture.
Definition: texture.cpp:267
virtual void set_wrapping(gl::texture_wrapping wrap_s, gl::texture_wrapping wrap_t, gl::texture_wrapping wrap_r)
Sets the texture wrapping modes.
Definition: texture.cpp:230
transfer_function get_transfer_function() const noexcept
Returns the transfer function.
Definition: texture.hpp:155
pixel_format get_pixel_format() const noexcept
Returns the pixel format enumeration.
Definition: texture.hpp:149
pixel_type get_pixel_type() const noexcept
Returns the pixel type enumeration.
Definition: texture.hpp:143
Graphics library interface.
transfer_function
Texture sampling transfer function.
pixel_format
pixel_type
Definition: pixel-type.hpp:28
Text and typography.
Definition: bitmap-font.cpp:24