Reenable billboards
This commit is contained in:
@@ -628,6 +628,9 @@ void IrrDriver::renderTransparent()
|
||||
TexUnit(0, true)), ListAdditiveTransparent::getInstance());
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < BillBoardList::getInstance()->size(); i++)
|
||||
BillBoardList::getInstance()->at(i)->render();
|
||||
|
||||
if (!UserConfigParams::m_dynamic_lights)
|
||||
return;
|
||||
|
||||
|
||||
@@ -409,6 +409,13 @@ parseSceneManager(core::list<scene::ISceneNode*> List, std::vector<scene::IScene
|
||||
continue;
|
||||
}
|
||||
|
||||
if (STKBillboard *node = dynamic_cast<STKBillboard *>(*I))
|
||||
{
|
||||
if (!isCulledPrecise(cam, *I))
|
||||
BillBoardList::getInstance()->push_back(node);
|
||||
continue;
|
||||
}
|
||||
|
||||
handleSTKCommon(*I, ImmediateDraw, cam, shadow_cam, rsmcam);
|
||||
|
||||
parseSceneManager((*I)->getChildren(), ImmediateDraw, cam, shadow_cam, rsmcam);
|
||||
@@ -448,6 +455,7 @@ void IrrDriver::PrepareDrawCalls(scene::ICameraSceneNode *camnode)
|
||||
ListMatSplatting::getInstance()->clear();
|
||||
|
||||
ImmediateDrawList::getInstance()->clear();
|
||||
BillBoardList::getInstance()->clear();
|
||||
ParticlesList::getInstance()->clear();
|
||||
ListInstancedGlow::getInstance()->clear();
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "gl_headers.hpp"
|
||||
#include "stkmesh.hpp"
|
||||
#include "gpuparticles.hpp"
|
||||
#include "stkbillboard.hpp"
|
||||
|
||||
template<typename T>
|
||||
class CommandBuffer : public Singleton<T>
|
||||
@@ -34,6 +35,9 @@ public:
|
||||
class ImmediateDrawList : public Singleton<ImmediateDrawList>, public std::vector<scene::ISceneNode *>
|
||||
{};
|
||||
|
||||
class BillBoardList : public Singleton<BillBoardList>, public std::vector<STKBillboard *>
|
||||
{};
|
||||
|
||||
class ParticlesList : public Singleton<ParticlesList>, public std::vector<ParticleSystemProxy *>
|
||||
{};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user