From ee8ded2a90c5c469fcd682ba4e63023153557f3c Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 17 Oct 2002 11:59:01 +0000 Subject: [PATCH] Fixed memory allocation. --- src/osgUtil/CubeMapGenerator.cpp | 90 +++++++++++++++----------------- 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/src/osgUtil/CubeMapGenerator.cpp b/src/osgUtil/CubeMapGenerator.cpp index b24e97c32..763ece073 100644 --- a/src/osgUtil/CubeMapGenerator.cpp +++ b/src/osgUtil/CubeMapGenerator.cpp @@ -1,65 +1,57 @@ #include - -#include -#ifndef __sgi -#include -#else #include -#endif - using namespace osgUtil; CubeMapGenerator::CubeMapGenerator(int texture_size) -: osg::Referenced(), - texture_size_(texture_size) +: osg::Referenced(), + texture_size_(texture_size) { - for (int i=0; i<6; ++i) { - osg::ref_ptr image = osgNew osg::Image; - //std::auto_ptr data(static_cast(std::malloc(texture_size*texture_size*4))); - std::auto_ptr data(new unsigned char[(texture_size*texture_size*4)]); - - image->setImage(texture_size, texture_size, 1, 4, GL_RGBA, GL_UNSIGNED_BYTE, data.get()); - data.release(); - images_.push_back(image); - } + for (int i=0; i<6; ++i) + { + osg::ref_ptr image = osgNew osg::Image; + unsigned char* data = (static_cast(malloc(texture_size*texture_size*4))); + image->setImage(texture_size, texture_size, 1, 4, GL_RGBA, GL_UNSIGNED_BYTE, data); + images_.push_back(image); + } } CubeMapGenerator::CubeMapGenerator(const CubeMapGenerator ©, const osg::CopyOp ©op) -: osg::Referenced(copy), - texture_size_(copy.texture_size_) +: osg::Referenced(copy), + texture_size_(copy.texture_size_) { - Image_list::const_iterator i; - for (i=copy.images_.begin(); i!=copy.images_.end(); ++i) { - images_.push_back(static_cast(copyop(i->get()))); - } + Image_list::const_iterator i; + for (i=copy.images_.begin(); i!=copy.images_.end(); ++i) + { + images_.push_back(static_cast(copyop(i->get()))); + } } void CubeMapGenerator::generateMap(bool use_osg_system) { - const float duv = 2.0f/(texture_size_-1); - - float v = 1; - for (int i=0; i