From: Carsten N. <car...@gm...> - 2012-07-23 21:37:40
|
Hello Alexander, On 07/23/2012 09:14 AM, Alexander Lang wrote: > i would like to implement the depth-peeling technique in order to realize > correct transparency. This requires multiple render passes with FBOs in > which the result of one pass is used in the next one. > How can i realize this with OpenSG? I used the stage node and > VisitSubtreeNode like in the examples and i successfully implemented > rendering to a texture attached to a fbo (1 pass). However, for multiple > passes attaching a stage node as child node of another stage node did not > work. Any suggestions would be appreciated. my gut feeling for this sort of thing where you need to have quite close control over the pass ordering and some of the OpenGL state that is active for each pass is to write your own Stage type. The HDRStage in Source/System/NodeCores/Groups/Effects/HDR may help a bit with that, since it also renders the scene to a buffer and then performs multiple post-processing passes with the result. If you want to stick to expressing the passes with individual stages in the tree, you probably want them to be siblings of a Group, just beware that they will actually render in reverse order (last child stage renders first). Cheers, Carsten |