Angus Dorbie (dorbie++at++sgi.com)
Fri, 03 Sep 1999 11:29:07 -0700
It's an OpenGL extension to support the torroidal scrolling of physical
texture memory over a larger virtualized texture area. It includes the
specification of an invalid border surrounding the moving texture memory
border where paging can occur invisibly at various levels of MIP and
when rendering if data at a given MIP level is not present the lowest
available level is used. The actual download uses glsubtexload.
Performer uses this OpenGL extension and adds fast disk i/o, host memory
management, multiprocessing, load balancing of downloads and in general
simple management of the whole process by specifying a CLIP center and
tweaking a lot of parameters.
MIP LOD controls (another OpenGL extension) are also used for load
ballancing.
What it ultimately gives you is the ability to page texture
independently of geometry and treat your terrain texture as a single
large image applied to all your polygons. You end up with high
resolution data surrounding the eye decreasing in resolution as level of
available MIP data in texture memory increases moving away from the eye.
>
> Going back to the issue, I've been discussing with the client, and I might
> be able to cut down so I can fit everything in RAM (at least, until they
> actually start seeing what they spec'ed ;->). But they also want a mobile
> platform, and even if I still manage to do that, there's the issue that the
> best one "can get" today (nothing available yet) would be a Savage3D-based
> system with 16 MB of on-chip gfx RAM (so I guess that could be 32 a year
> from now).
>
> So, what about images resident in RAM but bigger than texture memory?
You can always add texture memory management to your app and subload to
the graphics over time.
The kinds of things we're considering are automatic trickle of downloads
in the draw process when you add a child to the graph instead of the
rather painfull manual process of subloads in draw callbacks which must
be done today. Feedback on this would be welcome (send to Jenny).
Beyond that over subscribing texture memory should work but it depends
on the OpenGL driver. There would be momentary glitches as data is paged
on demand.
>
> [BTW, is anybody working on an OpenGL extension for texture compression,
> now that there are chips supporting the Direct3D stuff?]
It's actually pretty straightforward to support this using new internal
format tokens. The only question is do you compress on download or
download cells. As you may be aware that would affect the row column
order of texels since the atomic unit would be a tile of texels.
Cheers,Angus.
--
"One of the best-known folk theorems of software engineering is that
60% to 75% of conventional software projects are either never
completed or rejected by their intended users. If that range is
anywhere near true (and I've never met a manager of any experience
who disputes it) then more projects than not are being aimed at goals
which are either (a) not realistically attainable, or (b) just plain
wrong."
Eric S. Raymond - The Cathedral and The Bazaar
For advanced 3D graphics Performer + OpenGL based examples and tutors:
http://www.dorbie.com/
This archive was generated by hypermail 2.0b2 on Fri Sep 03 1999 - 11:29:17 PDT