There was some hint about possible implementation of WakeupWhenVisible for 1.4. Then there was a hint about abstract rendering interface. Then I have read some doc of opengl OpenSceneGraph... Probably my idea is quite obvious for most of you, but I would like to know if it is possible, if not, why, if yes, is there a chance of getting something like this in 1.4...
Basic idea is to create callback which will be called when given bounds in space is going to be rendered. This is a bit different from possible WakeupWhenVisible behavior - because it would be called in render thread, in the middle of drawing data to screen. This could be done in 3 basic ways. Either create special kind of InvisibleNode, which would have special method to be overridden which would be called when it is turn to for InvisibleNode to be 'drawn'. More generic would be add such method to every Node - so it would be also possible to add custom functionality to Shape3D, without adding extra nodes to graph. Most elegant IMHO, would be to add something like userData, only with object being instance of some kind of interface. This way, no subclassing of core nodes would be needed and same render callback could be used for many types of nodes. If they could be linked, like listeners on awt components... A lot of things could be made almost obsolete by such addition... Think about LOD - now it requires separate behavior and Switch node. With callback, it would be just simple check of distance(view,this) and drawing given shape. Yes, we already have working LOD, but fact that something custom, working in similar way, could be implemented by hand gives some proof of extensibility of system... Same could be probably done for SharedGroup/Link. Maybe even these classes could be implemented in terms of this functionality - and migrate from 'magic-core-class' to 'example-helper-class'. It would be great if geometry could be updated at this step. A lot of stuff could be drawn here without help of automatic triangle sorting and OrderedGroup. You could play with z-buffer and transparency on the fly. Generally, it would be kind of immediate-inside-retained mode hook - taking advantage of existing occluding, maybe also some state sorting ? A lot of this stuff can be achieved today by smart combination of behaviors, geometry updaters, intermediate mode, ordered groups etc. But I think that above solution would provide cleanest solution to a lot of problems. Basic question is if it could be made in well performing way with current java3d render structure ? Artur =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
