Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000130 [ogre] Scene Management Bugs minor always 2006-11-28 11:12 2009-04-23 18:14
Reporter sinbad View Status public  
Assigned To sinbad
Priority low Resolution suspended  
Status closed   Product Version
Summary 0000130: Multiple SceneManagers and changing pass hashes
Description See http://www.ogre3d.org/phpBB2/viewtopic.php?p=189032#189032 [^]

Hmm, actually multiple scene managers could cause a problem here.

It's during RenderQueue::clear() that dirty hashes are removed from the queue, so that when they are put back, it will be with the updated hash. However, because this is called from SceneManager::_renderScene, the whole sequence of checking and then clearing the dirty list is done within one SceneManager, so when the render queue is cleared for the other one the passes are no longer marked as dirty.

What is needed is the sequence:

- SM1 clear render queue
- SM2 clear render queue
- Process pending pass updates
- render..

However this is rather difficult to engineer generically given how the SceneManager might be invoked. We'd have to move the process of clearing the queues and processing the updates outside of the SceneManager itself, perhaps into Root somewhere. Hmm.
Additional Information
Tags No tags attached.
Attached Files

- Relationships
has duplicate 0000120closed Multiple SceneManagers & additive shadows has Pass hash issues 

-  Notes
(0000252)
sinbad (administrator)
2009-04-08 15:09

For the moment, we're advising users to use the workaround in frameStarted:

sm1->getRenderQueue()->clear();
sm2->getRenderQueue()->clear();
.. all other SMs
Pass::processPendingPassUpdates();

We will look at resolving this issue more elegantly in v2.0 with the SceneManager redesign.

- Issue History
Date Modified Username Field Change
2006-11-28 11:12 sinbad New Issue
2007-01-30 08:26 sinbad Status new => acknowledged
2007-01-30 08:27 sinbad Priority normal => low
2009-04-08 15:09 sinbad Note Added: 0000252
2009-04-08 15:09 sinbad Status acknowledged => resolved
2009-04-08 15:09 sinbad Resolution open => suspended
2009-04-08 15:09 sinbad Assigned To => sinbad
2009-04-08 15:10 sinbad Relationship added has duplicate 0000120
2009-04-08 15:11 sinbad Category Build/Compilation Errors => Scene Management Bugs
2009-04-23 18:14 sinbad Status resolved => closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker