1 #include "ref_counted_texture.h"
4 #include <movit/util.h>
6 RefCountedTexture create_texture_2d(GLuint width, GLuint height, GLenum internal_format, GLenum format, GLenum type, const GLvoid *pixels)
9 glCreateTextures(GL_TEXTURE_2D, 1, &tex);
11 glTextureStorage2D(tex, 1, internal_format, width, height);
13 glTextureSubImage2D(tex, 0, 0, 0, width, height, format, type, pixels);
15 glTextureParameteri(tex, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
17 glTextureParameteri(tex, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
19 glTextureParameteri(tex, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
21 glTextureParameteri(tex, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
24 return RefCountedTexture(new GLuint(tex), TextureDeleter());