//----------------------------------------------------------------------------// IrrlichtGeometryBuffer::IrrlichtGeometryBuffer(irr::video::IVideoDriver& driver): d_driver(driver), d_activeTexture(0), d_translation(0, 0, 0), d_rotation(0, 0, 0), d_pivot(0, 0, 0), d_effect(0), d_matrixValid(false), d_xViewDir(driver.getDriverType() != irr::video::EDT_OPENGL ? 1.0f : -1.0f), d_texelOffset(driver.getDriverType() != irr::video::EDT_OPENGL ? -0.5f : 0.0f) { d_material.BackfaceCulling = false; d_material.Lighting = false; d_material.ZBuffer = 0; d_material.ZWriteEnable = false; #if CEGUI_IRR_SDK_VERSION >= 16 d_material.MaterialType = irr::video::EMT_ONETEXTURE_BLEND; d_material.MaterialTypeParam = irr::video::pack_texureBlendFunc( irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA, irr::video::EMFN_MODULATE_1X, irr::video::EAS_NONE); #else d_material.MaterialType = irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL; d_material.MaterialTypeParam = 0; #endif }
//----------------------------------------------------------------------------// IrrlichtGeometryBuffer::IrrlichtGeometryBuffer(irr::video::IVideoDriver& driver): d_driver(driver), d_activeTexture(0), d_clipRect(0, 0, 0, 0), d_clippingActive(true), d_translation(0, 0, 0), d_rotation(0, 0, 0), d_pivot(0, 0, 0), d_effect(0), d_matrixValid(false), #if IRRLICHT_VERSION_MAJOR > 1 || (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR >= 8) d_xViewDir(1.0f), #else d_xViewDir(driver.getDriverType() != irr::video::EDT_OPENGL ? 1.0f : -1.0f), #endif d_texelOffset(driver.getDriverType() != irr::video::EDT_OPENGL ? -0.5f : 0.0f) { d_material.BackfaceCulling = false; d_material.Lighting = false; d_material.ZBuffer = 0; d_material.ZWriteEnable = false; // force upate of blending options to suit the default 'normal' mode d_blendMode = BM_INVALID; setBlendMode(BM_NORMAL); }
IrrlichtRenderTarget::IrrlichtRenderTarget(IrrlichtRenderer& owner, irr::video::IVideoDriver& driver) : d_owner(owner), d_driver(driver), d_area(0, 0, 0, 0), d_matrixValid(false), d_viewDistance(0), #if IRRLICHT_VERSION_MAJOR > 1 || (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR >= 8) d_xViewDir(1.0f) #else d_xViewDir(driver.getDriverType() != irr::video::EDT_OPENGL ? 1.0f : -1.0f) #endif { } IrrlichtRenderTarget::~IrrlichtRenderTarget() { } void IrrlichtRenderTarget::draw(const GeometryBuffer& buffer) { buffer.draw(); } void IrrlichtRenderTarget::draw(const RenderQueue& queue) { queue.draw(); } void IrrlichtRenderTarget::setArea(const Rectf& area) { d_area = area; d_matrixValid = false; RenderTargetEventArgs args(this); T::fireEvent(RenderTarget::EventAreaChanged, args); }