Changeset 657 for OGRE/trunk/ogre_changes/OgreMain/include
- Timestamp:
- 02/20/06 19:06:03 (19 years ago)
- Location:
- OGRE/trunk/ogre_changes/OgreMain/include
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
OGRE/trunk/ogre_changes/OgreMain/include/OgreFrustum.h
r61 r657 445 445 /** Disables any custom near clip plane. */ 446 446 virtual void disableCustomNearClipPlane(void); 447 /** Is a custom near clip plane in use? */ 448 virtual bool isCustomNearClipPlaneEnabled(void) const 449 { return mObliqueDepthProjection; } 447 450 448 451 -
OGRE/trunk/ogre_changes/OgreMain/include/OgreHardwareOcclusionQuery.h
r115 r657 46 46 * 47 47 * @author Lee Sandberg 48 * Updated on 4/8/2005 by Tuan Kuranes email: tuan.kuranes@free.fr 48 49 */ 49 50 class _OgreExport HardwareOcclusionQuery … … 82 83 * UINT m_uintNumberOfPixelsVisable; 83 84 * pullOcclusionQuery( &m_dwNumberOfPixelsVisable ); 84 * You may not get the result directl ly after the first pass or frame.85 * Objects not vis able 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. 86 87 * 87 88 */ … … 112 113 * 113 114 * @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 h w occlusion test is acctually made. If you set it to 1 only the half of your queries are sent115 * for all vis able objects. 2 will result in 25% of all queries to acctualy be sent.116 * New and none vis able objects will be tested all the time.117 * This functionality is here because this class can keep track on vis able 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. 118 119 * Once you you set the SkipRate for any hardware occlusion instance it effects all others. 119 120 */ -
OGRE/trunk/ogre_changes/OgreMain/include/OgreRenderQueueSortingGrouping.h
r343 r657 316 316 } 317 317 318 319 @ remarks320 Doesn't delete any priority groups, just empties them. Saves on318 /** Clears this group of renderables. 319 @param destroy 320 If false, doesn't delete any priority groups, just empties them. Saves on 321 321 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) 325 326 { 326 327 PriorityMap::iterator i, iend; … … 328 329 for (i = mPriorityGroups.begin(); i != iend; ++i) 329 330 { 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 334 342 #ifdef GTP_VISIBILITY_MODIFIED_OGRE 335 343 void clear(int passes) -
OGRE/trunk/ogre_changes/OgreMain/include/OgreRenderSystem.h
r316 r657 42 42 #include "OgreGpuProgram.h" 43 43 #include "OgrePlane.h" 44 #include "OgreIteratorWrappers.h" 44 45 45 46 namespace Ogre … … 173 174 virtual void setConfigOption(const String &name, const String &value) = 0; 174 175 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); 176 183 177 184 /** Validates the options set for the rendering system, returning a message if there are problems. … … 295 302 Description: External window handle, for embedding the OGRE context 296 303 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 298 306 Default: 0 (None) 299 307 ** … … 301 309 Description: Parent window handle, for embedding the OGRE context 302 310 Values: positive integer for W32 (HWND handle) 303 pos int:posint:posint for GLX (display:screen:windowHandle)311 poslong:posint:poslong for GLX (display*:screen:windowHandle) 304 312 Default: 0 (None) 305 313 ** … … 392 400 virtual RenderTarget * detachRenderTarget( const String &name ); 393 401 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 } 394 409 /** Returns a description of an error code. 395 410 */ … … 947 962 virtual Real getMaximumDepthInputValue(void) = 0; 948 963 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; } 949 1005 protected: 950 1006 … … 984 1040 985 1041 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 986 1056 }; 987 1057 } -
OGRE/trunk/ogre_changes/OgreMain/include/OgreSceneManager.h
r316 r657 271 271 */ 272 272 virtual void initRenderQueue(void); 273 /** Retrieves the internal render queue. */274 virtual RenderQueue* getRenderQueue(void);275 276 273 /** Internal method for setting up the renderstate for a rendering pass. 277 274 @param … … 282 279 */ 283 280 virtual Pass* setPass(Pass* pass); 284 285 281 /// A pass designed to let us render shadow colour on white for texture shadows 286 282 Pass* mShadowCasterPlainBlackPass; … … 429 425 virtual void createShadowTextures(unsigned short size, unsigned short count, 430 426 PixelFormat fmt); 427 /// Internal method for destroying shadow textures (texture-based shadows) 428 virtual void destroyShadowTextures(void); 431 429 /// Internal method for preparing shadow textures ready for use in a regular render 432 430 virtual void prepareShadowTextures(Camera* cam, Viewport* vp); … … 582 580 583 581 /** 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. 584 588 */ 585 589 virtual void removeAllCameras(void); … … 1025 1029 const String& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 1026 1030 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 1027 1037 /** Enables / disables a 'sky box' i.e. a 6-sided box at constant 1028 1038 distance from the camera representing the sky. … … 1070 1080 bool drawFirst = true, const Quaternion& orientation = Quaternion::IDENTITY, 1071 1081 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; } 1072 1088 1073 1089 /** Enables / disables a 'sky dome' i.e. an illusion of a curved sky. … … 1132 1148 int xsegments = 16, int ysegments = 16, int ysegments_keep = -1, 1133 1149 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; } 1134 1156 1135 1157 /** Sets the fogging mode applied to the scene. … … 1340 1362 const Matrix4& worldMatrix, const Matrix4& viewMatrix, const Matrix4& projMatrix, 1341 1363 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); 1342 1376 1343 1377 /** Registers a new RenderQueueListener which will be notified when render queues
Note: See TracChangeset
for help on using the changeset viewer.