source: OGRE/trunk/ogrenew/RenderSystems/Direct3D7/include/OgreD3D7GpuProgramManager.h @ 657

Revision 657, 3.3 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

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 __D3D7GpuProgramManager_H__
26#define __D3D7GpuProgramManager_H__
27
28#include "OgreD3D7Prerequisites.h"
29#include "OgreGpuProgramManager.h"
30
31namespace Ogre {
32
33    /** Dummy implementation of GpuProgram - cannot do anything
34        since D3D7 did not support vertex or fragment programs. */
35    class D3D7GpuProgram : public GpuProgram
36    {
37    public:
38        D3D7GpuProgram(ResourceManager* creator, const String& name, ResourceHandle handle,
39            const String& group, bool isManual = false, ManualResourceLoader* loader = 0)
40            : GpuProgram(creator, name, handle, group, isManual, loader) {}
41
42    protected:
43        /** Overridden from GpuProgram, do nothing */
44        void loadFromSource(void) {}
45        /** Overridden from GpuProgram, do nothing */
46        void unloadImpl(void) {}
47    };
48    /** Dummy implementation of GpuProgramManager - cannot do anything
49        since D3D7 did not support vertex or fragment programs. */
50    class D3D7GpuProgramManager : public GpuProgramManager
51    {
52    protected:
53        Resource* createImpl(const String& name, ResourceHandle handle,
54            const String& group, bool isManual, ManualResourceLoader* loader,
55            GpuProgramType gptype, const String& syntaxCode)
56        {
57            return new D3D7GpuProgram(this, name, handle, group, isManual, loader);
58        }
59        Resource* createImpl(const String& name, ResourceHandle handle,
60            const String& group, bool isManual, ManualResourceLoader* loader,
61            const NameValuePairList* createParams)
62        {
63            return new D3D7GpuProgram(this, name, handle, group, isManual, loader);
64        }
65    public:
66        D3D7GpuProgramManager()
67        {
68            // Register with resource group manager
69            ResourceGroupManager::getSingleton()._registerResourceManager(mResourceType, this);
70        }
71                ~D3D7GpuProgramManager()
72        {
73            ResourceGroupManager::getSingleton()._unregisterResourceManager(mResourceType);
74        }
75        /// @copydoc GpuProgramManager::createParameters
76        GpuProgramParametersSharedPtr createParameters(void)
77        { return GpuProgramParametersSharedPtr(new GpuProgramParameters()); }
78    };
79
80}
81
82#endif
Note: See TracBrowser for help on using the repository browser.