Hi Juan,

On 30. May 2011, at 19:48, Juan Hernando wrote:

> I'm playing with configuration files and I've found out some funny behaviour 
> that may be a bug of the startup configuration auto-completion mechanism.

This is not a bug, but rather a misunderstanding about the way the Layout API 
works.

> The test case can be easily reproduced with the 1-pipe.eqc configuration file 
> from the distribution. If a simple compound like this is
> added to the configuration file:
> compound
> {
>  channel (canvas 0 segment 0 layout 0 view 0)
> }
> everything works fine.

This compound uses the destination channel resulting from the intersection of 
the first segment with the first view of the first layout on the first canvas. 
This channel is not the same as the output channel of segment 0. It is an 
internal copy of this output channel with a potentially different viewport, if 
the view does not cover the full segment.

> However is the channel is specified by its name, then Equalizer modifies the 
> configuration to read as in:

Then you are using the channel you created in the configuration file, as in 
Equalizer 0.6. For compatibility the Loader creates a 
Canvas/Segment/Layout/View for this compound, uses the channel as an output 
channel and replaces the compound channel with the appropriate destination 
channel.

> compound
> {
>    channel  "channel"
> }
> compound
> {
>    compound
>    {
>        channel  ( canvas 0 segment 0 layout   0 view 0 )
>    }
> }
> This causes Channel::frameDraw to be called as much as 6 times per frame for 
> "channel". Twice for each eye (cyclop, left, right), the first one having 
> undefined values for the head transform matrix.

This is weird. Can you post the full configuration file? It should be called 
only once for the cyclop eye.


HTH,

Stefan.


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

Reply via email to