+{
+ GLenum face = 0;
+ for(unsigned i=0; i<6; ++i)
+ if(texture_cube_faces[i]==target)
+ {
+ face = target;
+ target = GL_TEXTURE_CUBE_MAP;
+ break;
+ }
+
+ if(TextureState *tex = reinterpret_cast<GlState *>(user_data)->get_current_texture(target))
+ {
+ if(face)
+ tex->set_face_image_2d(face, level, ifmt, width, height);
+ else
+ tex->set_image_2d(level, ifmt, width, height);
+ }
+}
+
+void GlState::glTexImage3D(void *user_data, GLenum target, int level, int ifmt, int width, int height, int depth, int, GLenum, GLenum, const void *)