Ignore:
Timestamp:
02/20/06 19:06:03 (19 years ago)
Author:
mattausch
Message:

added ogre dependencies and patched ogre sources

Location:
OGRE/trunk/ogre_changes/OgreMain/include
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • OGRE/trunk/ogre_changes/OgreMain/include/OgreFrustum.h

    r61 r657  
    445445                /** Disables any custom near clip plane. */ 
    446446                virtual void disableCustomNearClipPlane(void); 
     447                /** Is a custom near clip plane in use? */ 
     448                virtual bool isCustomNearClipPlaneEnabled(void) const  
     449                { return mObliqueDepthProjection; } 
    447450                 
    448451 
  • OGRE/trunk/ogre_changes/OgreMain/include/OgreHardwareOcclusionQuery.h

    r115 r657  
    4646  * 
    4747  * @author Lee Sandberg 
     48  * Updated on 4/8/2005 by Tuan Kuranes email: tuan.kuranes@free.fr 
    4849  */ 
    4950class _OgreExport HardwareOcclusionQuery 
     
    8283          *                             UINT    m_uintNumberOfPixelsVisable; 
    8384          *                             pullOcclusionQuery( &m_dwNumberOfPixelsVisable ); 
    84           *                             You may not get the result directlly after the first pass or frame. 
    85           *                             Objects not visable must be tested every frame, visable objects may be tested less freqvent. 
     85          *                             You may not get the result directly after the first pass or frame. 
     86          *                             Objects not visible must be tested every frame, visible objects may be tested less frequently. 
    8687          *                      
    8788          */ 
     
    112113          *    
    113114          * @Remarks This function allows you to set how often the hardware occlusion really are sent to the driver 
    114           * if you set it to 0 every hw occlusion test is acctually made. If you set it to 1 only the half of your queries are sent  
    115           * for all visable objects. 2 will result in 25% of all queries to acctualy be sent.  
    116           * New and none visable objects will be tested all the time. 
    117           * This functionality is here because this class can keep track on visable and none visable objects for you. 
     115          * if you set it to 0 every hardware occlusion test is actually made. If you set it to 1 only the half of your queries are sent  
     116          * for all visible objects. 2 will result in 25% of all queries to actually be sent.  
     117          * New and none visible objects will be tested all the time. 
     118          * This functionality is here because this class can keep track on visible and none visible objects for you. 
    118119          * Once you you set the SkipRate for any hardware occlusion instance it effects all others. 
    119120          */ 
  • OGRE/trunk/ogre_changes/OgreMain/include/OgreRenderQueueSortingGrouping.h

    r343 r657  
    316316        } 
    317317 
    318         /** Clears this group of renderables.  
    319         @remarks 
    320             Doesn't delete any priority groups, just empties them. Saves on  
     318       /** Clears this group of renderables.  
     319        @param destroy 
     320            If false, doesn't delete any priority groups, just empties them. Saves on  
    321321            memory deallocations since the chances are rougly the same kinds of  
    322             renderables are going to be sent to the queue again next time. 
    323         */ 
    324         void clear(void) 
     322            renderables are going to be sent to the queue again next time. If 
     323                        true, completely destroys. 
     324        */ 
     325        void clear(bool destroy = false) 
    325326        { 
    326327            PriorityMap::iterator i, iend; 
     
    328329            for (i = mPriorityGroups.begin(); i != iend; ++i) 
    329330            { 
    330                 i->second->clear(); 
    331             } 
    332  
    333         } 
     331                                if (destroy) 
     332                                        delete i->second; 
     333                                else 
     334                                        i->second->clear(); 
     335            } 
     336 
     337                        if (destroy) 
     338                                mPriorityGroups.clear(); 
     339 
     340        } 
     341 
    334342#ifdef GTP_VISIBILITY_MODIFIED_OGRE      
    335343                void clear(int passes) 
  • OGRE/trunk/ogre_changes/OgreMain/include/OgreRenderSystem.h

    r316 r657  
    4242#include "OgreGpuProgram.h" 
    4343#include "OgrePlane.h" 
     44#include "OgreIteratorWrappers.h" 
    4445 
    4546namespace Ogre 
     
    173174        virtual void setConfigOption(const String &name, const String &value) = 0; 
    174175 
    175                 virtual HardwareOcclusionQuery* createHardwareOcclusionQuery() = 0; 
     176                /** Create an object for performing hardware occlusion queries.  
     177                */ 
     178                virtual HardwareOcclusionQuery* createHardwareOcclusionQuery(void) = 0; 
     179 
     180                /** Destroy a hardware occlusion query object.  
     181                */ 
     182                virtual void destroyHardwareOcclusionQuery(HardwareOcclusionQuery *hq); 
    176183 
    177184        /** Validates the options set for the rendering system, returning a message if there are problems. 
     
    295302                                Description: External window handle, for embedding the OGRE context 
    296303                                Values: positive integer for W32 (HWND handle) 
    297                                         posint:posint:posint for GLX (display:screen:windowHandle) 
     304                                        poslong:posint:poslong (display*:screen:windowHandle) or 
     305                                        poslong:posint:poslong:poslong (display*:screen:windowHandle:XVisualInfo*) for GLX 
    298306                                Default: 0 (None) 
    299307                                ** 
     
    301309                                Description: Parent window handle, for embedding the OGRE context 
    302310                                Values: positive integer for W32 (HWND handle) 
    303                                         posint:posint:posint for GLX (display:screen:windowHandle) 
     311                                        poslong:posint:poslong for GLX (display*:screen:windowHandle) 
    304312                                Default: 0 (None) 
    305313                                ** 
     
    392400        virtual RenderTarget * detachRenderTarget( const String &name ); 
    393401 
     402                /// Iterator over RenderTargets 
     403                typedef MapIterator<Ogre::RenderTargetMap> RenderTargetIterator; 
     404 
     405                /** Returns a specialised MapIterator over all render targets attached to the RenderSystem. */ 
     406                virtual RenderTargetIterator getRenderTargetIterator(void) { 
     407                        return RenderTargetIterator( mRenderTargets.begin(), mRenderTargets.end() ); 
     408                } 
    394409        /** Returns a description of an error code. 
    395410        */ 
     
    947962        virtual Real getMaximumDepthInputValue(void) = 0; 
    948963 
     964                /** Defines a listener on the custom events that this render system  
     965                        can raise. 
     966                @see RenderSystem::addListener 
     967                */ 
     968                class _OgreExport Listener 
     969                { 
     970                public: 
     971                        Listener() {} 
     972                        virtual ~Listener() {} 
     973 
     974                        /** A rendersystem-specific event occurred. 
     975                        @param eventName The name of the event which has occurred 
     976                        @param parameters A list of parameters that may belong to this event, 
     977                                may be null if there are no parameters 
     978                        */ 
     979                        virtual void eventOccurred(const String& eventName,  
     980                                const NameValuePairList* parameters = 0) = 0; 
     981                }; 
     982                /** Adds a listener to the custom events that this render system can raise. 
     983                @remarks 
     984                        Some render systems have quite specific, internally generated events  
     985                        that the application may wish to be notified of. Many applications 
     986                        don't have to worry about these events, and can just trust OGRE to  
     987                        handle them, but if you want to know, you can add a listener here. 
     988                @par 
     989                        Events are raised very generically by string name. Perhaps the most  
     990                        common example of a render system specific event is the loss and  
     991                        restoration of a device in DirectX; which OGRE deals with, but you  
     992                        may wish to know when it happens.  
     993                @see RenderSystem::getRenderSystemEvents 
     994                */ 
     995                virtual void addListener(Listener* l); 
     996                /** Remove a listener to the custom events that this render system can raise. 
     997                */ 
     998                virtual void removeListener(Listener* l); 
     999 
     1000                /** Gets a list of the rendersystem specific events that this rendersystem 
     1001                        can raise. 
     1002                @see RenderSystem::addListener 
     1003                */ 
     1004                virtual const StringVector& getRenderSystemEvents(void) const { return mEventNames; } 
    9491005    protected: 
    9501006 
     
    9841040 
    9851041        bool mInvertVertexWinding; 
     1042 
     1043                /// List of names of events this rendersystem may raise 
     1044                StringVector mEventNames; 
     1045 
     1046                /// Internal method for firing a rendersystem event 
     1047                virtual void fireEvent(const String& name, const NameValuePairList* params = 0); 
     1048 
     1049                typedef std::list<Listener*> ListenerList; 
     1050                ListenerList mEventListeners; 
     1051 
     1052                typedef std::list<HardwareOcclusionQuery*> HardwareOcclusionQueryList; 
     1053                HardwareOcclusionQueryList mHwOcclusionQueries; 
     1054 
     1055 
    9861056    }; 
    9871057} 
  • OGRE/trunk/ogre_changes/OgreMain/include/OgreSceneManager.h

    r316 r657  
    271271        */ 
    272272        virtual void initRenderQueue(void); 
    273         /** Retrieves the internal render queue. */ 
    274         virtual RenderQueue* getRenderQueue(void); 
    275  
    276273        /** Internal method for setting up the renderstate for a rendering pass. 
    277274            @param 
     
    282279        */ 
    283280        virtual Pass* setPass(Pass* pass); 
    284  
    285281        /// A pass designed to let us render shadow colour on white for texture shadows 
    286282        Pass* mShadowCasterPlainBlackPass; 
     
    429425        virtual void createShadowTextures(unsigned short size, unsigned short count,  
    430426                        PixelFormat fmt); 
     427        /// Internal method for destroying shadow textures (texture-based shadows) 
     428        virtual void destroyShadowTextures(void); 
    431429        /// Internal method for preparing shadow textures ready for use in a regular render 
    432430        virtual void prepareShadowTextures(Camera* cam, Viewport* vp); 
     
    582580 
    583581        /** Removes (and destroys) all cameras from the scene. 
     582            @remarks 
     583                Some cameras are internal created to dealing with texture shadow, 
     584                their aren't supposed to destroy outside. So, while you are using 
     585                texture shadow, don't call this method, or you can set the shadow 
     586                technique other than texture-based, which will destroy all internal 
     587                created shadow cameras and textures. 
    584588        */ 
    585589        virtual void removeAllCameras(void); 
     
    10251029            const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 
    10261030 
     1031                /** Return whether a key plane is enabled */ 
     1032                virtual bool isSkyPlaneEnabled(void) const { return mSkyPlaneEnabled; } 
     1033 
     1034                /** Get the sky plane node, if enabled. */ 
     1035                virtual SceneNode* getSkyPlaneNode(void) { return mSkyPlaneNode; }               
     1036 
    10271037        /** Enables / disables a 'sky box' i.e. a 6-sided box at constant 
    10281038            distance from the camera representing the sky. 
     
    10701080            bool drawFirst = true, const Quaternion& orientation = Quaternion::IDENTITY, 
    10711081            const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 
     1082 
     1083                /** Return whether a skybox is enabled */ 
     1084                virtual bool isSkyBoxEnabled(void) const { return mSkyBoxEnabled; } 
     1085 
     1086                /** Get the skybox node, if enabled. */ 
     1087                virtual SceneNode* getSkyBoxNode(void) const { return mSkyBoxNode; } 
    10721088 
    10731089        /** Enables / disables a 'sky dome' i.e. an illusion of a curved sky. 
     
    11321148            int xsegments = 16, int ysegments = 16, int ysegments_keep = -1, 
    11331149            const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 
     1150 
     1151                /** Return whether a skydome is enabled */ 
     1152                virtual bool isSkyDomeEnabled(void) const { return mSkyDomeEnabled; } 
     1153 
     1154                /** Get the sky dome node, if enabled. */ 
     1155                virtual SceneNode* getSkyDomeNode(void) { return mSkyDomeNode; }                 
    11341156 
    11351157        /** Sets the fogging mode applied to the scene. 
     
    13401362            const Matrix4& worldMatrix, const Matrix4& viewMatrix, const Matrix4& projMatrix,  
    13411363            bool doBeginEndFrame = false) ; 
     1364 
     1365        /** Retrieves the internal render queue, for advanced users only. 
     1366        @remarks 
     1367            The render queue is mainly used internally to manage the scene object  
     1368                        rendering queue, it also exports some methods to allow advanced users  
     1369                        to configure the behavior of rendering process. 
     1370            Most methods provided by RenderQueue are supposed to be used  
     1371                        internally only, you should reference to the RenderQueue API for  
     1372                        more information. Do not access this directly unless you know what  
     1373                        you are doing. 
     1374        */ 
     1375        virtual RenderQueue* getRenderQueue(void); 
    13421376 
    13431377        /** Registers a new RenderQueueListener which will be notified when render queues 
Note: See TracChangeset for help on using the changeset viewer.