source: OGRE/trunk/ogrenew/RenderSystems/Direct3D9/include/OgreD3D9MultiRenderTarget.h @ 692

Revision 692, 2.2 KB checked in by mattausch, 18 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25#ifndef __D3D9MULTIRENDERTARGET_H__
26#define __D3D9MULTIRENDERTARGET_H__
27
28#include "OgreD3D9Prerequisites.h"
29#include "OgreTexture.h"
30#include "OgreRenderTexture.h"
31#include "OgreImage.h"
32#include "OgreException.h"
33#include "OgreD3D9HardwarePixelBuffer.h"
34
35#include "OgreNoMemoryMacros.h"
36#include <d3d9.h>
37#include <d3dx9.h>
38#include <dxerr9.h>
39#include "OgreMemoryMacros.h"
40
41namespace Ogre {
42        class D3D9MultiRenderTarget : public MultiRenderTarget
43        {
44        public:
45                D3D9MultiRenderTarget(const String &name);
46                ~D3D9MultiRenderTarget();
47
48                /** @copydoc MultiRenderTarget::bindSurface */
49                virtual void bindSurface(size_t attachment, RenderTexture *target);
50
51                /** @copydoc MultiRenderTarget::unbindSurface */
52                virtual void unbindSurface(size_t attachment);
53
54                virtual void getCustomAttribute( const String& name, void *pData );
55
56                bool requiresTextureFlipping() const { return false; }
57        private:
58                D3D9HardwarePixelBuffer *targets[OGRE_MAX_MULTIPLE_RENDER_TARGETS];
59
60                /** Check surfaces and update RenderTarget extent */
61                void checkAndUpdate();
62        };
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.