Skip to content

Commit

Permalink
Merge branch 'ign-rendering3' into fix_render_pass_node
Browse files Browse the repository at this point in the history
  • Loading branch information
iche033 authored Jun 15, 2021
2 parents 5ce646a + a56c834 commit 3993179
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
7 changes: 5 additions & 2 deletions ogre2/src/Ogre2SelectionBuffer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,12 @@ void Ogre2SelectionBuffer::CreateRTTBuffer()
const_cast<Ogre::CompositorPassSceneDef *>(scenePass)->mVisibilityMask =
IGN_VISIBILITY_SELECTABLE;

// buffer to store render texture data
size_t bufferSize = Ogre::PixelUtil::getMemorySize(width, height, 1, format);
// buffer to store render texture data. Ensure it's at least 4 bytes
size_t bufferSize = std::max<size_t>(
Ogre::PixelUtil::getMemorySize(width, height, 1, format),
4u);
this->dataPtr->buffer = new uint8_t[bufferSize];
memset(this->dataPtr->buffer, 0, 4u);
this->dataPtr->pixelBox = new Ogre::PixelBox(width,
height, 1, format, this->dataPtr->buffer);
}
Expand Down
12 changes: 11 additions & 1 deletion src/Image.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@
using namespace ignition;
using namespace rendering;

//////////////////////////////////////////////////
template <class T>
struct ArrayDeleter
{
void operator () (T const * p)
{
delete [] p;
}
};

//////////////////////////////////////////////////
Image::Image(unsigned int _width, unsigned int _height,
PixelFormat _format) :
Expand All @@ -27,7 +37,7 @@ Image::Image(unsigned int _width, unsigned int _height,
{
this->format = PixelUtil::Sanitize(_format);
unsigned int size = this->MemorySize();
this->data = DataPtr(new unsigned char[size]);
this->data = DataPtr(new unsigned char[size], ArrayDeleter<unsigned char>());
}

//////////////////////////////////////////////////
Expand Down

0 comments on commit 3993179

Please sign in to comment.