[cairo] Fwd: Re: [Mesa3d-dev] more glitz points
David Reveman
c99drn at cs.umu.se
Wed Apr 21 11:05:39 PDT 2004
On Wed, 2004-04-21 at 12:25 -0600, Brian Paul wrote:
> David Reveman wrote:
> > On Wed, 2004-04-21 at 09:33 -0700, Jon Smirl wrote:
> >>--- Brian Paul <brian.paul at tungstengraphics.com> wrote:
> >>>>
> >>>> Most programmatic surfaces are implemented using fragment programs and
> >>>> they will only be available on hardware supporting the fragment program
> >>>> extension.
> >>>
> >>>You certainly don't need fragment programs to do color gradients like
> >>>those. At worst, you have to just compute per-vertex texcoords to do
> >>>radial gradients. You can use texgen for texcoords for linear
> >>>gradients. I've done both in past projects (long before fragment
> >>>programs existed).
> >
> > You're probably right, and I'd love if someone would contribute with
> > some code that could do this. Although I think it might be hard make it
> > work with glitz's rendering model (the xrender model). It might also be
> > hard to make it support the different spread types; pad, repeat and
> > reflect.
>
> Pad, repeat and reflect sound like OpenGL's GL_CLAMP, GL_REPEAT and
> GL_MIRRORED_REPEAT texture wrap modes.
This is actually what I'm using with the current version of glitz. I
calculate a gradient offset value in the fragment program, then use it
to fetch a pixel from a 1D texture with one of the above mentioned
texture wrap modes.
> I could probably whip up a GLUT demo showing various kinds of gradient
> rendering. Would that help?
That would be great. I hope that's not to much trouble for you. This way
I could easily see how it would be possible to improve glitz's gradient
system.
- David
--
David Reveman <c99drn at cs.umu.se>
More information about the cairo
mailing list