2017-01-11 18:50:07 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace swrenderer
|
|
|
|
{
|
2017-01-26 06:03:27 +00:00
|
|
|
struct DrawSegment;
|
2017-01-16 04:26:22 +00:00
|
|
|
class VisibleSprite;
|
2017-01-11 18:50:07 +00:00
|
|
|
|
|
|
|
class VisibleSpriteList
|
|
|
|
{
|
|
|
|
public:
|
2017-01-16 02:46:05 +00:00
|
|
|
void Clear();
|
|
|
|
void PushPortal();
|
|
|
|
void PopPortal();
|
2017-01-26 07:39:44 +00:00
|
|
|
void Push(VisibleSprite *sprite, bool isVoxel = false);
|
|
|
|
void Sort();
|
2017-01-11 18:50:07 +00:00
|
|
|
|
2017-01-16 04:26:22 +00:00
|
|
|
TArray<VisibleSprite *> SortedSprites;
|
2017-01-11 18:50:07 +00:00
|
|
|
|
|
|
|
private:
|
2017-01-16 04:26:22 +00:00
|
|
|
TArray<VisibleSprite *> Sprites;
|
|
|
|
TArray<unsigned int> StartIndices;
|
2017-01-26 07:39:44 +00:00
|
|
|
bool DrewAVoxel = false;
|
2017-01-11 18:50:07 +00:00
|
|
|
};
|
|
|
|
}
|