Procedural Textures?

how bout procedural texture generation?

How 'bout reading the GL2 fragment shader specs?

excuse my stupidity, but it does not seem obviouse that this answeres my question?

and i do not know if you got my meaning or not. so i will explain what i mean by procedural texture.

Procedural Texture if i am not mistaken has the properties as follows:

A three demensional generated(and regeneratible) texture infinitly detailed and sizable without change.

such as is used in many 3D modeling and rendering applications such as Lightwave.

Procedural textures don’t have to be 3D, and most aren’t. Nor do they have to be infinitely detailed; checkerboard, for example, is very simple. And I don’t know of any texture that’s “sizeable without change” except flat colour.

I’d say a procedural texture is one which generates a fragment colour by applying a set of mathematical operations to the (interpolated) texcoords, instead of looking a colour up in a table as with a normal texture.

As for my original answer: the GL2 shading language can do all sorts of neat things in this line, and the spec includes example procedural fragment shaders for brick and for the Mandelbrot set. Hence, how about reading it?

HTH

“Procedural textures don’t have to be 3D, and most aren’t. Nor do they have to be infinitely detailed; checkerboard, for example, is very simple. And I don’t know of any texture that’s “sizeable without change” except flat colour”

Checkerboard is both infinitely detailed and sizable without change. Hence how about shutting up?

“Checkerboard is infinitely detailed”

Err… where’s the detail? We’re talking about a simple ((mod(x + y + z, 1) > 0.5) ? black : white) function, right?

“sizable without change”

What do you mean by this?

<
“sizable without change”

What do you mean by this?
>

that means its infinitly sizable without loss of detail or change in the form or pattern.

usually this s generated by a very complex algorithm, very amazing stuff really.

See page 53 of the newest version of the OpenGL 2.0 Shader Language white paper, available at http://www.3dlabs.com/support/developer/ogl2/whitepapers/index.htm.

j

oh my god, I read that several times and it never clicked untill just after you posted it. duh…

though a little more speciailzed support might be nice…

[This message has been edited by no-one (edited 04-21-2002).]

Procedural textures are generated on-the-fly using algorithms. They are not just plastered onto a surface like a bitmap texture. Procedural textures can be infinitely scaled (applied to any size surface) without stretching. So if you apply a procedural checkerboard to a 100x100 surface, the squares will be the same if you apply a procedurual checkerboard to a 2000x2000 surface.

Leo is right.

Doh! Should read:

“Procedural textures are generated on-the-fly using algorithms. They are not just plastered onto a surface like a bitmap texture. Procedural textures can be infinitely scaled (applied to any size surface) without stretching. So if you apply a procedural checkerboard to a 100x100 surface, the size of squares will be the same if you apply a procedurual checkerboard to a 2000x2000 surface.”

That doesn’t change the fact that fragment shaders, even current ones (not including nVidia’s excuse for per-fragment ops), can do procedural textures just fine without needed specialized procedural-texturing hardware.

Exactly.

Plus I still can’t see ANY possible interpretation of “infinitely detailed” which makes sense when applied to checkerboard. The Mandelbrot set is infinitely detailed. fBm noise functions are infinitely detailed. Checkerboard is very very finitely detailed.

And your (chuckr) interpretation of “sizeable without change” would apply just as well to a repeating bitmapped texture, no? And nonrepeating proc textures would, by definition, “change” when scaled like this.

This thread seems to have gotten a bit bogged down into disagreement over a couple of very vague and not-particularly-useful terms, IMHO.