Re: Master/Slave MPClipTextures...
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
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:57:14 PDT