Code: Select all
renderTexture = Ogre::TextureManager::getSingleton().createManual(
textureName,
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
Ogre::TEX_TYPE_2D, width, height, 0, Ogre::PF_A8R8G8B8, Ogre::TU_DYNAMIC_WRITE_ONLY_DISCARDABLE);
Code: Select all
for (std::size_t x = 0; x < width; x++) {
for (std::size_t y = 0; y < height; y++) {
p = (y*width) + x;
unsigned char r = 0;
y % 2 ==0 || y%3 ==0 || y%4 ==0 ? r = 255 : r = 0;
((char*)&image[p])[0] = 0;
((char*)&image[p])[1] = 0;
((char*)&image[p])[2] = r;
((char*)&image[p])[3] = 255;
}
}
std::size_t endP = p - (size-1); // == 0
Ogre::HardwarePixelBufferSharedPtr texBuf = renderTexture->getBuffer();
texBuf->lock(Ogre::HardwareBuffer::HBL_DISCARD);
memcpy(texBuf->getCurrentLock().data, (char*)&image.at(0), size * sizeOfWord);
texBuf->unlock();
images:
https://postimg.org/gallery/1xis0owz6/