Files
GTASource/rage/scaleform/Src/GFxPlayer/GFxRenderGen.cpp
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

68 lines
1.7 KiB
C++

/*********************************************************************
Filename : GFxRenderGen.cpp
Content :
Created :
Authors : Maxim Shemanarev
Copyright : (c) 2001-2007 Scaleform Corp. All Rights Reserved.
Notes :
Licensees may use this file in accordance with the valid Scaleform
Commercial License Agreement provided with the software.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
**********************************************************************/
#include "GFxRenderGen.h"
#include "GFxLoader.h"
#include "GHeapNew.h"
GFxRenderGen::GFxRenderGen(GMemoryHeap* pheap)
: VertexArray(pheap), NumTessellatedShapes(0),
#if defined(GFC_OS_WIN32) || defined(GFC_OS_DARWIN) || defined(GFC_OS_LINUX)
MemLimit(256*1024)
#else // Use a lower RenderGen limit on consoles.
MemLimit(64*1024)
#endif
{
}
UPInt GFxRenderGen::GetNumBytes() const
{
return
Shape1.GetNumBytes() +
Shape2.GetNumBytes() +
#if !defined(GFC_NO_FXPLAYER_STROKER)
Stroker.GetNumBytes() +
#endif
#if !defined(GFC_NO_FXPLAYER_STROKERAA)
StrokerAA.GetNumBytes() +
#endif
#ifndef GFC_NO_FXPLAYER_EDGEAA
EdgeAA_Gen.GetNumBytes() +
#endif
Tessellator.GetNumBytes() +
VertexArray.GetNumBytes();
}
void GFxRenderGen::ClearAndRelease()
{
Shape1.ClearAndRelease();
Shape2.ClearAndRelease();
#if !defined(GFC_NO_FXPLAYER_STROKER)
Stroker.ClearAndRelease();
#endif
#if !defined(GFC_NO_FXPLAYER_STROKERAA)
StrokerAA.ClearAndRelease();
#endif
#ifndef GFC_NO_FXPLAYER_EDGEAA
EdgeAA_Gen.ClearAndRelease();
#endif
Tessellator.ClearAndRelease();
VertexArray.ClearAndRelease();
}