Coding style changes, removed dead code and unused variables.
This commit is contained in:
@@ -34,88 +34,24 @@ using namespace video;
|
||||
using namespace scene;
|
||||
using namespace core;
|
||||
|
||||
SunNode::SunNode(scene::ISceneManager* mgr, scene::ISceneNode* parent, float r, float g, float b):
|
||||
LightNode(mgr, parent, 0., 0., r, g, b)
|
||||
SunNode::SunNode(scene::ISceneManager* mgr, scene::ISceneNode* parent,
|
||||
float r, float g, float b)
|
||||
: LightNode(mgr, parent, 0., 0., r, g, b)
|
||||
{
|
||||
m_color[0] = r;
|
||||
m_color[1] = g;
|
||||
m_color[2] = b;
|
||||
}
|
||||
} // SunNode
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
SunNode::~SunNode()
|
||||
{
|
||||
delete sq;
|
||||
}
|
||||
} // ~SunNode
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
void SunNode::render()
|
||||
{
|
||||
irr_driver->setSunColor(video::SColorf(m_color[0], m_color[1], m_color[2]));
|
||||
irr_driver->setSunDirection(getPosition());
|
||||
|
||||
vector3df pos = getPosition();
|
||||
irr_driver->setSunDirection(pos);
|
||||
return;
|
||||
|
||||
/* array<IRenderTarget> mrt;
|
||||
mrt.reallocate(2);
|
||||
mrt.push_back(irr_driver->getRTT(RTT_TMP2));
|
||||
mrt.push_back(irr_driver->getRTT(RTT_TMP3));
|
||||
irr_driver->getVideoDriver()->setRenderTarget(mrt, true, false);
|
||||
|
||||
// Render the sun lighting to tmp2, shadow map to tmp3
|
||||
sq->render(false);
|
||||
|
||||
// Filter the shadow map for soft shadows
|
||||
// Note that quarter1 is reserved for glow during this time.
|
||||
// Having a separate RTT for glow would work, but be wasted VRAM due to less reuse.
|
||||
ScreenQuad tmpsq(irr_driver->getVideoDriver());
|
||||
GaussianBlurProvider * const gcb = (GaussianBlurProvider *) irr_driver->getCallback(ES_GAUSSIAN3H);
|
||||
|
||||
gcb->setResolution(UserConfigParams::m_width / 2, UserConfigParams::m_height / 2);
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAH));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_TMP3));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_HALF1));
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAV));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_HALF1));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_HALF2));
|
||||
|
||||
gcb->setResolution(UserConfigParams::m_width / 4, UserConfigParams::m_height / 4);
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAH));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_HALF2));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_QUARTER2));
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAV));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_QUARTER2));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_QUARTER3));
|
||||
|
||||
gcb->setResolution(UserConfigParams::m_width / 8, UserConfigParams::m_height / 8);
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAH));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_QUARTER3));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_EIGHTH1));
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_PENUMBRAV));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_EIGHTH1));
|
||||
tmpsq.render(irr_driver->getRTT(RTT_EIGHTH2));
|
||||
|
||||
// Use these to generate a new soft shadow map
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_SHADOWGEN));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_HALF2), 0);
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_QUARTER3), 1);
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_EIGHTH2), 2);
|
||||
|
||||
irr_driver->getVideoDriver()->setRenderTarget(irr_driver->getRTT(RTT_HALF_SOFT), true, false);
|
||||
tmpsq.render(false);
|
||||
|
||||
tmpsq.setTexture(0, 0);
|
||||
tmpsq.setTexture(0, 1);
|
||||
tmpsq.setTexture(0, 2);
|
||||
tmpsq.setTexture(0, 3);
|
||||
|
||||
// Combine them back to the lighting RTT
|
||||
tmpsq.setMaterialType(irr_driver->getShader(ES_MULTIPLY_ADD));
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_TMP2), 0);
|
||||
tmpsq.setTexture(irr_driver->getRTT(RTT_HALF_SOFT), 1);
|
||||
|
||||
tmpsq.getMaterial().MaterialTypeParam = pack_textureBlendFunc(EBF_ONE, EBF_ONE);
|
||||
tmpsq.getMaterial().BlendOperation = EBO_ADD;
|
||||
|
||||
irr_driver->getVideoDriver()->setRenderTarget(irr_driver->getRTT(RTT_TMP1), false, false);
|
||||
tmpsq.render(false);*/
|
||||
}
|
||||
} // render
|
||||
|
||||
@@ -24,18 +24,18 @@
|
||||
|
||||
class ScreenQuad;
|
||||
|
||||
// The actual rain node
|
||||
// The actual sun node
|
||||
class SunNode: public LightNode
|
||||
{
|
||||
|
||||
public:
|
||||
SunNode(scene::ISceneManager* mgr, scene::ISceneNode* parent, float r, float g, float b);
|
||||
SunNode(scene::ISceneManager* mgr, scene::ISceneNode* parent,
|
||||
float r, float g, float b);
|
||||
virtual ~SunNode();
|
||||
|
||||
virtual void render() OVERRIDE;
|
||||
virtual bool isPointLight() OVERRIDE { return false; }
|
||||
|
||||
private:
|
||||
ScreenQuad *sq;
|
||||
};
|
||||
}; // SunNode
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user