}
-void GVOTexture::setImage( const GVOImage * image )
+void GVOTexture::setImage( const GVOImage & image )
{
- if ( image ) {
- bind();
+ bind();
+ if ( image.pixelFormat() == k_GVOPixelFormat_RGB ) {
::glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
::glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB,
- image->width(), image->height(),
+ image.width(), image.height(),
0, GL_BGR_EXT,
- GL_UNSIGNED_BYTE, image->imageBits() );
- m_width = image->width();
- m_height = image->height();
-
- unbind();
+ GL_UNSIGNED_BYTE, image.imageBits() );
}
-}
-
-
-void GVOTexture::setImageWithAlpha( const GVOImage * image )
-{
- if ( image ) {
- bind();
-
+ else if ( image.pixelFormat() == k_GVOPixelFormat_RGBA ) {
::glPixelStorei( GL_UNPACK_ALIGNMENT, 4 );
::glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA,
- image->width(), image->height(),
+ image.width(), image.height(),
0, GL_BGRA_EXT,
- GL_UNSIGNED_BYTE, image->imageBits() );
- m_width = image->width();
- m_height = image->height();
-
- unbind();
+ GL_UNSIGNED_BYTE, image.imageBits() );
}
+ else {
+ abort();
+ }
+ m_width = image.width();
+ m_height = image.height();
+
+ unbind();
}