Hi, Recently we have been attempting to get offscreen framebuffers working in clutter, the codebase has been broken since 0.9 because of the re-write of clutter_actor_realize()
Essentially the old behaviour was to realize just the actor specified, but now it realizes the parent actors all the way up to the stage. Whilst on the whole this is a good idea it does have the side effect of completely breaking clutters offscreen rendering setup. Offscreen rendering requires (according to the documentation and test-cases) you to create an actor but not parent it to the stage (if it were in the stage, it would get drawn onscreen) and then call clutter_texture_new_from_actor on the actor. clutter_texture_new_from_actor needs to realize the actor in order to get its dimensions to build an FBO of the correct size, which used to work pre 0.9 but now with the new realizing code the test-cases fail and as far as i can tell, offscreen rendering is impossible. It would be nice to investigate how to go about fixing this and get a patch upstream but I would prefer it if we could have a discussion on the best way to attack this problem as a community. There are two options as I see it, either we mark actors as 'offscreen' somehow and clutter performs some magic in the background to make sure that they are rendered offscreen or we create some sort of fake offscreen "stage" where anything that gets attached to it automatically gets rendered into an FBO. Any thoughts? the test-case is tests/interactive/test-fbo.c - in 0.8 this test case works fine , anything later it fails. Thanks, Gord. ---------------- Gord Allott ([email protected])
signature.asc
Description: OpenPGP digital signature
