1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include "nel/3d/texture_mem.h"
20 #include "nel/misc/mem_stream.h"
32 /*==================================================================*\
34 \*==================================================================*/
36 /*------------------------------------------------------------------*\
38 \*------------------------------------------------------------------*/
39 void CTextureMem::doGenerate(bool /* async */)
45 NLMISC::CMemStream
m (true);
46 m
.fill (_Data
, _Length
);
51 resize(_TexWidth
, _TexHeight
, _TexType
);
52 ::memcpy(&getPixels(0)[0], _Data
, _Length
);
63 static NLMISC::CRGBA
WhitePix(255, 255, 255, 255); // the texture datas ... :)
65 ///===========================================================================
66 ITexture
*CTextureMem::Create1x1WhiteTex()
68 static NLMISC::CSmartPtr
<ITexture
> tex
= NULL
;
71 tex
= new CTextureMem((uint8
*) &WhitePix
,
73 false, /* dont delete */
74 false, /* not a file */
76 static_cast<CTextureMem
*>((ITexture
*)tex
)->setShareName("#WhitePix1x1");
78 return (ITexture
*) tex
;
81 ///===========================================================================
82 void CTextureMem::setAllowDegradation(bool allow
)
84 _AllowDegradation
= allow
;
87 ///===========================================================================
88 uint32
CTextureMem::getImageWidth() const
93 ///===========================================================================
94 uint32
CTextureMem::getImageHeight() const