John, That all sounds correct. Option 2 might get a little dodgy because the IceT parallel render manager does all sorts of funny things with the renderer and render window buffers to handle tile displays. There will also be some oddness with an actor compositing an image that gets pasted to a framebuffer that gets composited again.
I think Option 1 (or some variant of it) would be easier to implement even if it does break encapsulation. Ken knows much more than me about the Icet compositor and tiled display things, so there might be issues that I am not aware of here. Pasting the image to a framebuffer that gets composited again should not be an issue (the LIC mapper does it, even though it does nothing about parallel composition) If you do not want to use a shader, then you need either to use the opengl fixed pipeline (I do not know the correction that you need to do, but that might be possible), or copy the pixels back on your RAM, do the work on the CPU and go back to the VRAM... I fear you will get horrible performance that way! The shaders should be quite easy to write, the imageProcessingPass does most of the dirty work for you (setup the framebuffer, render a quad...) Best, Stephane Stephane PLOIX Chef de groupe EDF – R&D / SINETICS Réalité virtuelle et visualisation scientifique 1, av du General de Gaulle 92140 Clamart [email protected] Tél. : 01 47 65 51 10 Un geste simple pour l'environnement, n'imprimez ce message que si vous en avez l'utilité. [email protected] 26/09/2011 16:55 A [email protected] cc [email protected], [email protected] Objet RE: [Paraview] non ordered composite distributor and IceT Stephane I like your 2. As a starting point to see how it all fits together, I decided to create a renderview cloned from the renderviews plugin which did the RGB correction in a special render pass. The examples use shaders to apply the ImageProcessingPass, but I would like a standard imagefilter to accomplish it. I am not forced to use a shader am I? (I didn’t look too deeply yet, but it seems like the image processing pass receives an FBO and from that I can access the pixels using the imageimport and do what’s needed, but it looks a bit messy – is there a simpler way?). thanks JB From: Stephane PLOIX [mailto:[email protected]] Sent: 26 September 2011 15:41 To: Biddiscombe, John A. Cc: [email protected]; [email protected] Subject: Re: [Paraview] non ordered composite distributor and IceT Hi John, I see two solutions to your pb : 1/ you can setup special keys to tell the renderpass if a given actor should be rendered or not by this pass. You can then branch your renderpasses on two paths, one that does your special compositing and post-processing on the actors that you flagged with the special key, one that does traditionnal rendering for all other actors, and you then need to compose the 2 resulting images. 2/ You could setup an internal renderpass on your mapper that uses the IceT compositing mechanism, apply your post-processing internally, then render the result of this compositing on the current framebuffer. Option 2 should be better since your render effect seems to be actor-centric. Best, Stephane Stephane PLOIX Chef de groupe EDF – R&D / SINETICS Réalité virtuelle et visualisation scientifique 1, av du General de Gaulle 92140 Clamart [email protected] Tél. : 01 47 65 51 10 Un geste simple pour l'environnement, n'imprimez ce message que si vous en avez l'utilité. [email protected] Envoyé par : [email protected] 25/09/2011 22:15 A [email protected], [email protected] cc Objet Re: [Paraview] non ordered composite distributor and IceT Ken After looking through the sources a little more, I see that the example plugin RenderPassViews does something similar to what I’m after. It add a render pass at the end which applies an edge detection algorithm, This happens after compositing – which is what I need. However, this renderpass applies to all mappers/actors in the renderer/view, so if I used this strategy, then my post processing RGB correction from the mapper+compositing would happen to all actors, and this is no good. So it looks like what I want to do won’t be possible, because there’d be no way to composite one actor individually and then blend with the others later. Since you don’t know what it is I’m trying to do, it is probably unclear, but in short, the mapper renders the data on each process, and after all RGB images are summed in the compositing phase a correction must be applied to the RGB values (but its not commutative, so can’t be applied on each process individually). (unless I modify the algorithm which might be possible, I’ll check on this) One approach might be to add a separate pass which renders only the special geometry, but I suspect this will be too hard because the blending phases would all need to be tweaked so that the compositing happened twice (?) – once for the special stuff, once for everything else. Can you tell if I’ve I understood things properly from my suppositions above, and if so, any other tips I might look into before I consider algorithmic changes. Thanks JB From: Moreland, Kenneth [mailto:[email protected]] Sent: 21 September 2011 22:30 To: Biddiscombe, John A.; [email protected] Subject: Re: [Paraview] non ordered composite distributor and IceT John, If you look more closely, you should see that the data is only distributed when transparency is on. If everything is opaque, then everything stays where it is. If I remember correctly, there is a flag in vtkOrderedCompositeDistributor that turns it to a pass-through filter. It's implemented like this because it's more convenient than changing around the internal pipeline. If you never have to do ordered compositing, you could just remove this filter. Likewise, you can set the parallel render manager to do non-ordered compositing and just forget about the parallel k-d tree. -Ken From: "Biddiscombe, John A." <[email protected]> Date: Wed, 21 Sep 2011 19:55:19 +0000 To: "[email protected]" <[email protected]> Subject: [Paraview] non ordered composite distributor and IceT Can anyone point me to an example of a representarion which interacts with IceT in any n on standard way. Geometry and UGVolume Representations use a vtkOrderedCompositeDistributor and then IceT takes over. I’d like toe skip the vtkOrderedCompositeDistributor (which is ok), but I’m not sure how to interact with IceT and see how it doe the image summation etc. Are there any odd representations out there I can use as examples? Thanks JB -- John Biddiscombe, email:biddisco @ cscs.ch http://www.cscs.ch/ CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07 Via Cantonale, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82 _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message. Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message. E-mail communication cannot be guaranteed to be timely secure, error or virus-free. Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message. Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message. E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
<<image/gif>>
<<image/gif>>
<<image/gif>>
<<image/gif>>
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
