[Paraview] non ordered composite distributor and IceT

Biddiscombe, John A. biddisco at cscs.ch
Mon Sep 26 11:51:35 EDT 2011


Stephane,

For option 1 :
Instead of using special keys, I suspect I can just hijack the render transparent geometry pass and do my custom render in there (s my stuff is ransparent and I only want to mix with opaque stuff) – with a pass for compositing  -- and then doing the RGB correction on process 0. Then just make sure that the non zero process Id’s don’t composite any transparent stuff back to the master image and allow process 0 to contribute the correct composited and corrected image.

I’ll explore this. thanks for the pointers to both you and Ken. These passes and delegates and wotnot are all a bit confusing when you haven’t used them much.

JB

From: Stephane PLOIX [mailto:stephane.ploix at edf.fr]
Sent: 26 September 2011 17:13
To: Biddiscombe, John A.
Cc: kmorel at sandia.gov; paraview at paraview.org
Subject: RE: [Paraview] non ordered composite distributor and IceT


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
[cid:image001.gif at 01CC7C74.ECA8FC90]



Stephane PLOIX
Chef de groupe
EDF – R&D / SINETICS
Réalité virtuelle et visualisation scientifique
1, av du General de Gaulle
92140 Clamart

stephane.ploix at edf.fr
Tél. : 01 47 65 51 10

[cid:image002.gif at 01CC7C74.ECA8FC90]

Un geste simple pour l'environnement, n'imprimez ce message que si vous en avez l'utilité.




biddisco at cscs.ch

26/09/2011 16:55

A

stephane.ploix at edf.fr

cc

kmorel at sandia.gov, paraview at paraview.org

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:stephane.ploix at edf.fr]
Sent: 26 September 2011 15:41
To: Biddiscombe, John A.
Cc: kmorel at sandia.gov; paraview at paraview.org
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
[cid:image001.gif at 01CC7C74.ECA8FC90]



Stephane PLOIX
Chef de groupe
EDF – R&D / SINETICS
Réalité virtuelle et visualisation scientifique
1, av du General de Gaulle
92140 Clamart

stephane.ploix at edf.fr
Tél. : 01 47 65 51 10

[cid:image002.gif at 01CC7C74.ECA8FC90]

Un geste simple pour l'environnement, n'imprimez ce message que si vous en avez l'utilité.



biddisco at cscs.ch
Envoyé par : paraview-bounces at paraview.org

25/09/2011 22:15


A

kmorel at sandia.gov, paraview at paraview.org

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:kmorel at sandia.gov]
Sent: 21 September 2011 22:30
To: Biddiscombe, John A.; paraview at paraview.org
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." <biddisco at cscs.ch<mailto:biddisco at cscs.ch>>
Date: Wed, 21 Sep 2011 19:55:19 +0000
To: "paraview at paraview.org<mailto:paraview at paraview.org>" <paraview at paraview.org<mailto:paraview at paraview.org>>
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110926/d267c4da/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 1816 bytes
Desc: image001.gif
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110926/d267c4da/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.gif
Type: image/gif
Size: 1151 bytes
Desc: image002.gif
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110926/d267c4da/attachment-0003.gif>


More information about the ParaView mailing list