#include <string> #include <gltexture.hpp> #include <gltexture1d.hpp> #include <gltexture2d.hpp> #include <gltexture3d.hpp> #include <gltexturebuffer.hpp> #include <gltexturecubemap.hpp> constexpr auto size = 128; template<typename Data> void texture(GLuint program, GLTexture * texture0) { // NOLINTNEXTLINE GLTexture::anisotropy(4.0F); glUniform1i( glGetUniformLocation(program, "texture0"), texture0->unit() ); auto const data = texture0->data<Data>(); (void)data; texture0->data({1, 2, 3, 4}); texture0->clear(); } int main() { GLTexture1D texture1d ("", {size}); GLTexture2D texture2d ("", {size, size}); GLTexture3D texture3d ("", {size, size, size}); GLTextureBuffer<GLfloat> texturebuffer ("", {size}); GLTextureCubemap texturecubemap("", {size, size}); }