]> git.mxchange.org Git - simgear.git/commitdiff
Don't delete the texture data after sending it to OpenGL.
authorehofman <ehofman>
Thu, 10 Jul 2003 09:14:34 +0000 (09:14 +0000)
committerehofman <ehofman>
Thu, 10 Jul 2003 09:14:34 +0000 (09:14 +0000)
simgear/screen/texture.cxx
simgear/screen/texture.hxx

index 338fd113a818c17dfd8454fadd2807478dcbad4c..9b9189756477d339c09a2abfcaef4a1020feb677 100644 (file)
@@ -39,7 +39,7 @@ SGTexture::~SGTexture()
         delete texture_data;
     }
 
-    if ( texture_id >= 0 ) {
+    if ( texture_id != 0 ) {
         free_id();
     }
 }
@@ -331,7 +331,6 @@ SGTexture::read_r8_texture(const char *name)
 }
 
 
-#if 0
 void
 SGTexture::set_pixel(GLuint x, GLuint y, sgVec3 &c)
 {
@@ -352,8 +351,6 @@ SGTexture::get_pixel(GLuint x, GLuint y)
 
     return &c;
 }
-#endif
-
 
 SGTexture::ImageRec *
 SGTexture::ImageOpen(const char *fileName)
index 083c6036d47f57861e569c3b95f7b4f78feadf3b..00ce0e1c3027c5f257b692ab859aae67d6f0ce14 100644 (file)
@@ -67,7 +67,7 @@ protected:
 #else
         glDeleteTexturesEXT(1, &texture_id);
 #endif
-        texture_id = -1;
+        texture_id = 0;
     }
 
 
@@ -83,7 +83,7 @@ public:
     void read_raw_texture(const char *name);
     void read_r8_texture(const char *name);
 
-    inline bool usable() { return texture_data ? true : false; }
+    inline bool usable() { return (texture_id > 0) ? true : false; }
 
     inline GLuint id() { return texture_id; }
     inline GLubyte *texture() { return texture_data; }
@@ -99,20 +99,15 @@ public:
     void prepare(unsigned int width = 256, unsigned int height = 256);
     void finish(unsigned int width, unsigned int height);
 
-#if 0
     // texture pixel manipulation functions.
     void set_pixel(GLuint x, GLuint y, sgVec3 &c);
     sgVec3 *get_pixel(GLuint x, GLuint y);
-#endif
 
     void bind();
     inline void select() {
         glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB,
                       texture_width, texture_height, 0,
                       GL_RGB, GL_UNSIGNED_BYTE, texture_data );
-
-        delete texture_data;
-        texture_data = 0;
     }
 
     // Nowhere does it say that resident textures have to be in video memory!