OSDN Git Service

気になるところを少し整理。
[gvonavish/GVONavish.git] / GVONavish / GVONavish / GVOTexture.cpp
index 80a7d72..bdcb838 100644 (file)
@@ -23,39 +23,31 @@ GVOTexture::~GVOTexture()
 }
 
 
-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();
 }