GLUTESSNORMAL(3G)
π¦ GLUTESSNORMAL(3G) π¦
ok so bestie, welcome to the GLUTESSNORMAL(3G) page π this one's short and sweet, but it's doing real work, no cap.
β¨ NAME β¨
gluTessNormal β specify a normal for a polygon
πΈ C SPECIFICATION πΈ
void gluTessNormal( GLUtesselator* tess,
GLdouble valueX,
GLdouble valueY,
GLdouble valueZ )
π PARAMETERS π
tessβ the tessellation object, iykyk. You make it withgluNewTess.valueXβ the first component of the normal. that's the x one π«valueYβ the second component of the normal. the y one π«ΆvalueZβ the third component of the normal. and the z one, obviously β¨
π DESCRIPTION π
So gluTessNormal describes a normal for a polygon that your program is defining. Very demure, very mindful.
Here's the tea: all input data gets projected onto a plane perpendicular to one of the three coordinate axes before tessellation, and all output triangles will be oriented CCW with respect to the normal. Want CW instead? Just reverse the sign of the normal you supply. That's it, that's the whole trick π§
For example β say you already know all your polygons live in the x-y plane. Then you call:
gluTessNormal(tess, 0.0, 0.0, 1.0)
before you render any polygons. easy π
Now, if the normal you supply is (0.0, 0.0, 0.0) β which is the initial value, so this is the default behavior, bestie β then the normal gets determined like this:
- The direction of the normal, up to its sign, is found by fitting a plane to the vertices, without regard to how the vertices are connected. it's giving "we don't care about your topology, we care about your vibes."
- It is expected that the input data lies approximately in the plane. Otherwise, projection perpendicular to one of the three coordinate axes may substantially change the geometry. π so like, heads up.
- The sign of the normal is chosen so that the sum of the signed areas of all input contours is nonnegative β where a CCW contour has positive area. math slay π
And the supplied normal? It persists until it's changed by another call to gluTessNormal. It doesn't reset on you, it just stays there, main character energy, until you say otherwise.
π SEE ALSO π
gluTessBeginPolygon(3G)gluTessEndPolygon(3G)
ok that's the whole page bestie, go forth and tessellate responsibly π this was GLUTESSNORMAL(3G), literally iconic, mwah πβ¨π
π¦ where this page comes from
- centos-stream 9: gl-manpages 1.1-24.20190306.el9 Β· MIT and Open Publication
- fedora 43: gl-manpages 1.1-34.20190306.fc43 Β· Apache-2.0 AND HPND AND HPND-sell-variant AND MIT AND OpenPBS-2.3 AND SGI-B-2.0 AND W3C-19980720 AND X11
- fedora 44: gl-manpages 1.1-35.20190306.fc44 Β· Apache-2.0 AND HPND AND HPND-sell-variant AND MIT AND OpenPBS-2.3 AND SGI-B-2.0 AND W3C-19980720 AND X11
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms