From: <MSo...@ya...> - 2006-01-22 09:56:13
|
Hi Braden, > I'd welcome a patch to fix the library to support this; > however, it's a > nontrivial amount of work. There would be several methods to solve this: 1.) have a function iterate the whole scene and reset all view dependent information 2.) store a view id with view dependent information and reset it during rendering if the view doesn't match 3.) Use some sort of container to store multiple view dependent informations per node. 4.) Have a mode that doesn't use view dependent information at all (like the hack I tried with begin_object). I think 1.) would be most efficient and simple, but it cannot be made inherently thread safe, so that rendering requests from multiple views need to be serialized with a semaphore. In my app the GUI is single threaded, so this wouldn't be a problem for me. I think this should be true for most apps. 2.) is a bit trading speed for memory compared to 1.) and could be made thread safe but it would need an interlocked exchange function and if rendering really overlaps regularly, rendering speed will be degraded because the list IDs are constantly overwritten and not really used. I would then rather prefer 4.) so that you know what you get. 3.) is I think a bit heavy in terms of memory consumption. 4.) would allow inherently thread safe rendering but is of course far from optimal in terms of rendering speed. What do you think about this? Can you give me some hints on what to look out for (in addition to the GL list IDs)? Clearing the list IDs is a bit of work but should be straight forward, but I have no idea what else there might be. Best regards, Michael -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.375 / Virus Database: 267.14.21/236 - Release Date: 20.01.2006 ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de |