On 02/04/13 16:23, Stefan Eilemann wrote:
On 2. Apr 2013, at 17:17, Carlos Duelo <[email protected]> wrote:

What is your exact problem?
I want a simple application which fill each tile with a different colour.
The tile equalizer decomposes the rendering of a single view into evenly-sized 
tiles. While this may be abused for your needs, you could simply write a loop 
decomposing the PixelViewport in even tiles in Channel::frameDraw.
Yes, I thought that I could do it as you mention but in the future using the tile_equalizer decomposition will give me many facilities, so I would like use it.

Now, I have a application which render isosurfaces and I need to use more than one node so, equalizer seems my solution. My application return the pixels for a given tile and camera. So, my idea is take the tile in Channel::frameDraw using getViewport and use glDrawPixels to write the pixels that I have rendered for this tile.
Something like this:

viwport  = getViewPort
tilePixels =  renderTile(viewPort, Camera)
glDrawPixels(viewport.w, viewport.h, GL_RGB, GL_FLOAT, tilePixels)

For this reason, I started developing a simple application, to understand how it works.


My problem is that I do not know how to achive this "Each tile is read back 
correctly and assembled in the right place on the destination channel."
This is what Equalizer does. Did you run the example I mentioned?

Yes, I run the example and works with eqPly but not for me.


Do I need two channels, one to fill the tiles and another to use as destination 
channel?
One channel, used as source and dest does work. See the attached diff for what 
you have in mind.


HTH,

Stefan.

diff --git examples/configs/4-window.all.eqc examples/configs/4-window.all.eqc
index b578cd3..d16fd3c 100644
--- examples/configs/4-window.all.eqc
+++ examples/configs/4-window.all.eqc
@@ -78,7 +78,7 @@ server
              name "2D"
              view
              {
-                observer 0
+                observer 0
                  viewport [ 0 .5 .5 .5 ]
                  wall
                  {
@@ -708,12 +708,6 @@ server
              tile_equalizer {}
compound {}
-            compound { channel "channel2" outputframe {} }
-            compound { channel "channel3" outputframe {} }
-            compound { channel "channel4" outputframe {} }
-            inputframe { name "frame.channel2" }
-            inputframe { name "frame.channel3" }
-            inputframe { name "frame.channel4" }
          }
compound
@@ -721,7 +715,7 @@ server
              channel ( segment 0 layout "DB_DirectSend" view 0 )
              buffer    [ COLOR DEPTH ]
-
+
              compound
              {
                  range     [ 0.00 0.25 ]


_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com



_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to