VedaLib3DEngine/RenderTargetTexture.h

Go to the documentation of this file.
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 \____/