}
};
-typedef std::unique_ptr<GLuint, TextureDeleter> RefCountedTexture;
+typedef std::unique_ptr<GLuint, TextureDeleter> UniqueTexture;
+typedef std::shared_ptr<GLuint> RefCountedTexture;
+
+// TODO: consider mipmaps.
+RefCountedTexture create_texture_2d(GLuint width, GLuint height, GLenum internal_format, GLenum format, GLenum type, const GLvoid *pixels);
#endif // !defined(_REF_COUNTED_TEXTURE)