00001 /*! \file 00002 \author victorien ferry & www.m4nkind.com 00003 \brief This file applies the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 , read file COPYING. 00004 */ 00005 #ifndef COM_M4NKIND_RenderTargetTexture_H 00006 #define COM_M4NKIND_RenderTargetTexture_H 00007 00008 #include "RenderTargetVirtual.h" 00009 #include "PackObjectReference.h" 00010 #include "PackLong_WithLimits.h" 00011 #include "PackULong_Enums.h" 00012 #include "VirtualMachine.h" 00013 /*! 00014 \class RenderTargetTexture 00015 \ingroup BaseObjectInherited_VedaLib3DEngine 00016 \brief Define a screen rectangle to draw on a texture, for 00017 multipass rendering. 00018 */ 00019 class RenderTargetTexture : public RenderTargetVirtual 00020 { 00021 /*================================================================== 00022 PUBLIC 00023 ==================================================================*/ 00024 public: 00025 /*! 00026 \brief Constructor. There should only be members initialisation there. 00027 */ 00028 RenderTargetTexture(void); 00029 00030 /*! 00031 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00032 */ 00033 BASEOBJECT_DEFINE_CLASS(RenderTargetTexture); 00034 00035 /*================================================================== 00036 PROTECTED 00037 ==================================================================*/ 00038 protected: 00039 //! the Texture where to render 00040 PackObjectReference mSer_TextureToRender; 00041 //! enum: tell which texture layer to render. Use enum: VirtualMachine::InternalTexture::TextureImageLayerEnum 00042 PackULong_Enums mSer_TargetLayer; 00043 //! the render texture width (1,2,4,8,16,32,64,128,256,512) 00044 PackLong_WithLimits mSer_2nPixelWidth; 00045 //! the render texture height (1,2,4,8,16,32,64,128,256,512) 00046 PackLong_WithLimits mSer_2nPixelHeight; 00047 00048 00049 00050 //! the hardware abstract texture for rendering. 00051 VirtualMachine::InternalViewPort *m_pInternalViewPort; 00052 00053 /*! 00054 \brief Method that really build the object using the serializable parameters. 00055 Close() should close everything opened by Create(). 00056 \return false if creation failed. 00057 */ 00058 virtual bool CreateInternal(void); 00059 #ifdef _ENGINE_EDITABLE_ 00060 /*! 00061 \brief that closes everything. Still, the object exist and can be rebuild the same using Create() 00062 */ 00063 //DONE BY RenderTargetVirtual. virtual void CloseInternal(void); 00064 #endif 00065 00066 }; 00067 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/