Re: Master/Slave MPClipTextures...

New Message Reply Date view Thread view Subject view Author view

Don Hatch (hatch++at++hell.engr.sgi.com)
Tue, 14 Apr 1998 15:56:28 -0700


On Apr 14, 9:26am, Jan Barglowski wrote:
> Subject: Master/Slave MPClipTextures...
> Performers:
>
> I have a 3-pipe App using a cliptexture on the terrain. I've replaced
> the clip-center algorithm with my own, but it affects the centering
> on all 3 pipes the way I want it to affect only the center pipe.
> According to the pfManual, I can "split" the MPCliptextures into
> Master and Slave cliptextures, which share varying degrees of system
> resources with each other. I'd like to use this, but can't seem to
> grasp how I should go about it!
>
> First, I only have one pfMPClipTexture -- at least I've only defined
> one! I'm guessing all the pipes share this one from the pfuAddMPClip-
> TexturesToPipes() function. So how can I split off slave MPClipTextures?
>
> I've already tried to use the pfMPClipTexture::setShareMask(0) to
> signify no sharing of the centering, but that doesn't seem to work,
> either. Interesting that the man page states that only clipcenter
> sharing can be enabled/disabled...
>
> If it aids, what I'm doing is shifting the clip center so that it
> coincides with the "bottom" of my current FOV. This has the result
> of putting higher res mip-levels (or at least loading them!) so
> that is appears sharper where I'm looking, rather than directly
> underneath me. Of course, this depends on the channel's viewmat
> so I must update the clipcenter based on each channel (I have one
> channel per pipe). Unfortunately, the sharing causes me only to
> set the clipcenter for the center channel, and the other two channels
> are getting it's center.
>
> Any hints? Thanks!
>
> jan

Sorry, you gotta have the same clip center on all pipes.
Theoretically OpenGL and the hardware is capable of supporting
independent centers (the different pipes' textures are independent
OpenGL objects in independent OpenGL contexts)
but the way it's implemented in Performer
is that they all share the same memory caching structures
(pfImageCaches and pfImageTiles)
and the pfImageCache structure is not smart enough to maintain coverage of
more than one rectangular texture region at once, which is what you would need.

You *might* be able to hack around this by actually defining
three independent clip textures that don't know about each other;
this will probably triple your memory usage as well
as your required disk bandwidth (if it works at all).

Don

-- 
Don Hatch  hatch++at++sgi.com  (415) 933-5150  Silicon Graphics, Inc.
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:57:14 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.