72 int mWidth =
win->getWidth();
73 int mHeight =
win->getHeight();
76 Ogre::PixelFormat pf = Ogre::PF_B8G8R8;
77 long isize = mWidth * mHeight * (long)Ogre::PixelUtil::getNumElemBytes(pf);
78 Ogre::uchar* data = OGRE_ALLOC_T(Ogre::uchar, isize, Ogre::MEMCATEGORY_RENDERSYS);
79 Ogre::PixelBox pb(mWidth, mHeight, 1, pf, data);
80 win->copyContentsToMemory(pb);
85 Ogre::uchar* databuf = OGRE_ALLOC_T(Ogre::uchar, 32768, Ogre::MEMCATEGORY_RENDERSYS);
86 char* ptr = (
char *)databuf;
89 int w = sprintf(ptr,
"RORED\n");
94 for (std::map<Ogre::String, Ogre::String>::iterator it =
map.begin(); it !=
map.end(); it++)
96 int w2 = sprintf(ptr,
"%s:%s\n", it->first.c_str(), it->second.c_str());
102 Ogre::uchar* ptri = data;
104 ptr = (
char *)databuf;
106 for (
long b = 0; b < isize && b < dsize * 8 + 40; b++ , ptri++)
120 std::thread(
save, data, databuf, mWidth, mHeight, pf,
filename).detach();