Tengo datos de imagen y quiero obtener una imagen secundaria de eso para usar como una textura opengl.OpenGL SubTexturing
glGenTextures(1, &m_name);
glGetIntegerv(GL_TEXTURE_BINDING_2D, &oldName);
glBindTexture(GL_TEXTURE_2D, m_name);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_width, m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_data);
¿Cómo puedo obtener una imagen secundaria de esa imagen cargada como una textura. Creo que tiene algo que ver con el uso de glTexSubImage2D, pero no tengo ni idea de cómo usarlo para crear una nueva textura que pueda cargar. Llamando:
glTexSubImage2D(GL_TEXTURE_2D, 0, xOffset, yOffset, xWidth, yHeight, GL_RGBA, GL_UNSIGNED_BYTE, m_data);
DOE nada de lo que puedo ver, y llamando glCopyTexSubImage2D sólo toma parte de mi uso de este dispositivo. Gracias
Básicamente tengo una imagen (como datos en bruto), y quiero usar parte de esa imagen como una textura. Sé cómo cargar toda la imagen como una textura, pero no sé cómo usar solo un poco. – DavidG
El póster respondió esto. Si tienes una imagen en la memoria, se almacena de alguna manera. Si usó glTexImage2D (... GL_RGBA, GL_UNSIGNED_BYTE) para cargar, entonces hay un byte para R, G, B y valor alfa. Las imágenes se almacenan con el píxel (0, 0) comienza en la posición 0. Pixel x en la fila y comienza en la imagen [ancho * y + x] [0] – mstrobl
ya que estoy usando OpenGL ES, terminé haciendo la primera opción que has dado, que es extraer la subimagen en un nuevo buffer. lamentablemente en el dispositivo ya no funciona, entonces voy a volver a trabajar la textura para que no tenga que resolver el problema. – DavidG