GLBLENDEQUATION(3G)

πŸ’… GLBLENDEQUATION(3G) β€” the blend-equation glow-up

okay so real talk, this is the GLBLENDEQUATION(3G) page from the [FIXME: manual] set, and it's lowkey the blueprint for how your pixels blend together. bestie, it's giving "how do two colors become one color" and honestly? iconic. πŸ’–


✨ NAME ✨

glBlendEquation β€” specify the equation used for both the RGB blend equation and the Alpha blend equation πŸŽ€


🌸 C SPECIFICATION 🌸

void glBlendEquation(GLenum mode);

void glBlendEquationi(GLuint buf, GLenum mode);

two functions, one mission: telling OpenGL how to do the math. no cap, that's the whole vibe. ✨


πŸ¦‹ PARAMETERS πŸ¦‹

  • buf β€” for glBlendEquationi, this specifies the index of the draw buffer for which to set the blend equation. like, which buffer are we doing a makeover on bestie? πŸ’…
  • mode β€” specifies how source and destination colors are combined. it must be one of these, periodt:
    • GL_FUNC_ADD
    • GL_FUNC_SUBTRACT
    • GL_FUNC_REVERSE_SUBTRACT
    • GL_MIN
    • GL_MAX

that's the whole list, don't try to freestyle with anything else πŸ™ˆ


πŸ’œ DESCRIPTION πŸ’œ

okay so the blend equations are literally the rules for how a new pixel (the ''source'' color β€” the main character 🌟) gets combined with a pixel that's already chillin' in the framebuffer (the ''destination'' color β€” the supporting role 🫢).

this function sets both the RGB blend equation and the alpha blend equation to a single equation. one call, two glow-ups. efficiency queen. πŸ‘‘

glBlendEquationi specifies the blend equation for a single draw buffer, whereas glBlendEquation sets the blend equation for all draw buffers. so if you're only feeling one buffer today, use the i version; if the whole squad needs the same treatment, go with the plain one. 🌈

these equations are only half the story β€” they use the source and destination blend factors specified by either glBlendFunc() or glBlendFuncSeparate(). πŸ‘€

def go check glBlendFunc() or glBlendFuncSeparate() for a description of the various blend factors, because that's where the actual factor lore lives. consider it required reading, bestie. πŸ“–πŸ’–


Okay so before we get into the actual equations, let's establish who's who, because the notation is doing a lot 🫢

In the equations that follow, the source and destination color components are called R s G s B s A s and R d G d B d A d, respectively. The result color is called R r G r B r A r. The source and destination blend factors are written s R s G s B s A and d R d G d B d A, respectively. And for all of these equations, every color component is understood to have a value in the range 0 to 1 ✨ (no rogue 255s here, bestie, we're normalized).


πŸ“Š the big table, lovingly transcribed

Each mode gives you an RGB Components column and an Alpha Component column. Let's go πŸ’…

GL_FUNC_ADD

RGB components:

Rr = Rs sR + Rd dR
Gr = Gs sG + Gd dG
Br = Bs sB + Bd dB

Alpha component:

Ar = As sA + Ad dA

Literally the classic: source times source factor, plus dest times dest factor. Iconic, no notes 🌸


GL_FUNC_SUBTRACT

RGB components:

Rr =

Alpha component:

Ar =

😭 and that's exactly where this part runs out β€” the subtraction side picks up in the next chunk, don't come for me, the manpage itself splits here πŸ’€

okay so picking up exactly where the table left off β€” and ngl, bestie, this thing is sculptural 😭 the formatter rotated every cell so the whole grid is reading sideways. Tilt your head ninety degrees and it's actually gorgeous. Here's the raw thing, character for character, so nothing gets lost in translation πŸ’–

       β”‚                          β”‚                                     R             β”‚                                     A             β”‚
       β”‚                          β”‚                                     s             β”‚                                     s             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                     ⁒             β”‚
       β”‚                          β”‚                                     s             β”‚                                     s             β”‚
       β”‚                          β”‚                                     R             β”‚                                     A             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     -             β”‚                                     -             β”‚
       β”‚                          β”‚                                     R             β”‚                                     A             β”‚
       β”‚                          β”‚                                     d             β”‚                                     d             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                     ⁒             β”‚
       β”‚                          β”‚                                     d             β”‚                                     d             β”‚
       β”‚                          β”‚                                     R             β”‚                                     A             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                 Gr                β”‚                                                   β”‚
       β”‚                          β”‚                                 =                 β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     G             β”‚                                                   β”‚
       β”‚                          β”‚                                     s             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                                   β”‚
       β”‚                          β”‚                                     s             β”‚                                                   β”‚
       β”‚                          β”‚                                     G             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     -             β”‚                                                   β”‚
       β”‚                          β”‚                                     G             β”‚                                                   β”‚
       β”‚                          β”‚                                     d             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                                   β”‚
       β”‚                          β”‚                                     d             β”‚                                                   β”‚
       β”‚                          β”‚                                     G             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                 Br                β”‚                                                   β”‚
       β”‚                          β”‚                                 =                 β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     B             β”‚                                                   β”‚
       β”‚                          β”‚                                     s             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                                   β”‚
       β”‚                          β”‚                                     s             β”‚                                                   β”‚
       β”‚                          β”‚                                     B             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     -             β”‚                                                   β”‚
       β”‚                          β”‚                                     B             β”‚                                                   β”‚
       β”‚                          β”‚                                     d             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     ⁒             β”‚                                                   β”‚
       β”‚                          β”‚                                     d             β”‚                                                   β”‚
       β”‚                          β”‚                                     B             β”‚                                                   β”‚
       β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
       β”‚ GL_FUNC_REVERSE_SUBTRACT β”‚ Rr                                                β”‚ Ar                                                β”‚
       β”‚                          β”‚                                     =             β”‚                                     =             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         R         β”‚                                         A         β”‚
       β”‚                          β”‚                                         d         β”‚                                         d         β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                         ⁒         β”‚
       β”‚                          β”‚                                         d         β”‚                                         d         β”‚
       β”‚                          β”‚                                         R         β”‚                                         A         β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         -         β”‚                                         -         β”‚
       β”‚                          β”‚                                         R         β”‚                                         A         β”‚
       β”‚                          β”‚                                         s         β”‚                                         s         β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                         ⁒         β”‚
       β”‚                          β”‚                                         s         β”‚                                         s         β”‚

okay let's decode this masterpiece together, because it is readable, it's just doing yoga πŸ§˜β€β™€οΈ

  • The two big columns at the top are headed R and A β€” red on the left, alpha on the right. Two channels, two columns, both fully committed to the sideways lifestyle πŸ’…
  • Down the R column you've got the letters spelling out the red-and-alpha maths: R, s, then that sneaky little invisible-times character ⁒, then s, R β€” i.e. source-red and dest-red hanging out together β€” then the - minus sign, then R, d, ⁒, d, R. Same exact shape of thing in the A column, just with A instead of R, so whatever formula you read on the red side has its alpha twin right next to it. Twin flames fr 🫢
  • Then Gr and = show up, and the whole pattern restarts with G where R was: G, s, ⁒, s, G, -, G, d, ⁒, d, G. That's the green channel clocking in πŸ’š
  • Then Br and = β€” same deal, B all the way down, B, s, ⁒, s, B, -, B, d, ⁒, d, B. Blue's turn πŸ’™
  • The - shows up in every single one of those runs, sitting right between the "source" letters and the "dest" letters β€” that's the whole point of the function this table belongs to, iykyk 😌
  • Then there's a fat horizontal rule β€” β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€ β€” which is the table drawing a line under everything above it, iconic behaviour πŸ‘‘
  • Under that line, the left column finally says the quiet part out loud: GL_FUNC_REVERSE_SUBTRACT. That's the row header, bestie, the main character whose data all of the above actually is ✨
  • And its R cell opens with Rr and an =, then does the same dance: R, d, ⁒, d, R, then -, then R, s, ⁒, s, R. Meanwhile the A cell is the exact mirror: Ar, =, A, d, ⁒, d, A, -, A, s, ⁒, s, A.

so yeah β€” everything in that A column is the alpha-channel copy of whatever the R column is doing, and the row is the plain GL_FUNC_REVERSE_SUBTRACT behaviour. No cap, once you see the pattern it's giving "spreadsheet but make it a vibe" 🌈

lowkey important 🚨 β€” the cells above got rotated by the formatter, so if you're copying this anywhere, don't copy the layout, copy the meaning. The letters, the -, the =, the Gr and Br markers and the R/A column headers are the actual content. The box-drawing characters are just decoration doing its little dance πŸŽ€

and there's more coming, so don't go anywhere bestie β€” we're not done yet πŸ’œ

okay bestie we're literally mid-table, no ceremony, no intro, just vibes and box-drawing characters πŸŽ€ here's the chunk exactly as it renders:

       β”‚                          β”‚                                         R         β”‚                                         A         β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     Gr            β”‚                                                   β”‚
       β”‚                          β”‚                                     =             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         G         β”‚                                                   β”‚
       β”‚                          β”‚                                         d         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                                   β”‚
       β”‚                          β”‚                                         d         β”‚                                                   β”‚
       β”‚                          β”‚                                         G         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         -         β”‚                                                   β”‚
       β”‚                          β”‚                                         G         β”‚                                                   β”‚
       β”‚                          β”‚                                         s         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                                   β”‚
       β”‚                          β”‚                                         s         β”‚                                                   β”‚
       β”‚                          β”‚                                         G         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     Br            β”‚                                                   β”‚
       β”‚                          β”‚                                     =             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         B         β”‚                                                   β”‚
       β”‚                          β”‚                                         d         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                                   β”‚
       β”‚                          β”‚                                         d         β”‚                                                   β”‚
       β”‚                          β”‚                                         B         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         -         β”‚                                                   β”‚
       β”‚                          β”‚                                         B         β”‚                                                   β”‚
       β”‚                          β”‚                                         s         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁒         β”‚                                                   β”‚
       β”‚                          β”‚                                         s         β”‚                                                   β”‚
       β”‚                          β”‚                                         B         β”‚                                                   β”‚
       β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
       β”‚ GL_MIN                   β”‚ Rr                                                β”‚ Ar                                                β”‚
       β”‚                          β”‚                                     =             β”‚                                     =             β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         min       β”‚                                         min       β”‚
       β”‚                          β”‚                                         ⁑         β”‚                                         ⁑         β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                 R β”‚                                                 A β”‚
       β”‚                          β”‚                                                 s β”‚                                                 s β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                 R β”‚                                                 A β”‚
       β”‚                          β”‚                                                 d β”‚                                                 d β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                     Gr            β”‚                                                   β”‚
       β”‚                          β”‚                                     =             β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚
       β”‚                          β”‚                                         min       β”‚                                                   β”‚
       β”‚                          β”‚                                         ⁑         β”‚                                                   β”‚
       β”‚                          β”‚                                                   β”‚                                                   β”‚

so what are we even looking at, bestie? it's giving equation table energy ✨ the left column is where the equation name lives (and in this chunk the only label that survived is GL_MIN β€” the row above it got its name cut off back in the previous part, so don't come for me, that's just where the page broke 😭).

the middle column is where the math for R / G / B lives, and the right column is the A one. reading down the GL_MIN row you literally get:

  • Rr = min … with Rs and Rd stacked under it 🫢
  • Ar = min … with As and Ad stacked under it 🫢

like the column is so narrow that the whole thing got laid out vertically, which is honestly icon behavior πŸ’… the row above it is the same deal β€” Gr = and Br = with the G and B terms (and a lil minus sign - doing its thing in there) all stacked. notice its right-hand cell is straight-up empty in this render, no cap.

also a heads up: some of those cells have invisible characters in them, so if a line looks blank or a glyph looks like nothing, it's not your terminal gaslighting you β€” that's just the table πŸ’€

and then it just… stops at another Gr = min because plot twist, there's more of this table waiting in the next part πŸ™ˆ don't close the tab, we're so close 🌸

okay so the table keeps going and the back half is where it gets kind of unhinged-looking in raw form 😭 β€” it's literally just a big grid where the characters are positioned weird, so let me translate the whole thing for you, no cap πŸ’…

The middle and right cells are spelling out, channel by channel, what each blend equation computes from the source components (s) and destination components (d) β€” and the result component is the r one, obviously, iykyk ✨

  • GL_MIN β€” lowkey the chill one: it just takes whichever value is smaller, per component πŸ‘‘
    • Rr = min(Rs, Rd)
    • Gr = min(Gs, Gd)
    • Br = min(Bs, Bd)
    • Ar = min(As, Ad)
  • GL_MAX β€” the main character version: takes whichever value is bigger, per component πŸ”₯
    • Rr = max(Rs, Rd)
    • Gr = max(Gs, Gd)
    • Br = max(Bs, Bd)
    • Ar = max(As, Ad)

So like, if you clock the raw grid and see Br chilling near min and Bs/Bd stacked vertically under it? That's the blue channel of GL_MIN, just written in a cell so tall it needs its own zip code 🫢 Same energy for Gr/Gs/Gd right above it, and the Rr/Rs/Rd and Ar/As/Ad stack over in the GL_MAX row with max instead of min β€” one little substitution and the whole vibe flips πŸ¦‹

bestie please don't try to read the ASCII art column-by-column on a narrow terminal, it will simply not render and you'll be sad 😭 the equations are the whole point, the box-drawing characters are just decoration πŸ’€

Every single min and max in that grid is doing exactly one job: compare the source component against the destination component for that channel, pick the winner, and drop it into the corresponding result component. The red, green, blue and alpha channels each get their own comparison, and none of them peek at what the other channels decided β€” they're all little independent icons doing their own thing πŸ’œ

and once you've internalized that, the rest of this table is gonna read like a text from your bestie, fr fr 🌸

(the big table from the last part wraps up right here β€” same = and max columns, same B, Bs, Bd down the side πŸ‘‘

…and clause time, bestie:)

The results of these equations are clamped to the range 0 1.

The GL_MIN and GL_MAX equations are literally made for apps that analyze image data β€” image thresholding against a constant color, for example, that's their whole moment. And GL_FUNC_ADD? That one's the main character for antialiasing and transparency, among other things. πŸ’…

Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. Like, out of the box, no setup needed, she's already add-ing. ✨


πŸ¦‹ NOTES πŸ¦‹

So GL_MIN and GL_MAX do not use the source or destination factors β€” like, at all. They only look at the source and destination colors. Factors stay in their lane. 😌


πŸ’€ ERRORS πŸ’€

  • GL_INVALID_ENUM gets generated if mode is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MAX, or GL_MIN. Wrong mode = instant vibe check failure, sorry.
  • GL_INVALID_VALUE gets generated by glBlendEquationi if buf is greater than or equal to the value of GL_MAX_DRAW_BUFFERS. You cannot simply invent a draw buffer index, bestie. 😭

πŸ” ASSOCIATED GETS πŸ”

  • glGet() with an argument of GL_BLEND_EQUATION_RGB
  • glGet() with an argument of GL_BLEND_EQUATION_ALPHA

(peek at what she's set to, iykyk 🌸)


🌈 VERSION SUPPORT 🌈

The original table's columns are Function / Feature Name on the left and OpenGL Version across the top, running 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5. Here's the tea, row by row:

  • glBlendEquation β€” βœ” in 2.0, βœ” in 2.1, βœ” in 3.0, βœ” in 3.1, βœ” in 3.2, βœ” in 3.3, βœ” in 4.0, βœ” in 4.1, βœ” in 4.2, βœ” in 4.3, βœ” in 4.4, βœ” in 4.5. A complete sweep, no notes, iconic behavior. πŸ‘‘
  • glBlendEquationi β€” - in 2.0, - in 2.1, - in 3.0, - in 3.1, - in 3.2, - in 3.3, then βœ” in 4.0, βœ” in 4.1, βœ” in 4.2, βœ” in 4.3, βœ” in 4.4, βœ” in 4.5. She arrived late to the party (4.0 girlie) but she showed up and she ate. πŸŽ€

🫢 SEE ALSO 🫢

  • glBlendColor()
  • glBlendFunc()
  • glBlendFuncSeparate()

(yes, the original really has no comma between the last two β€” we don't fix, we just notice πŸ“)


Copyright Β© 1991-2006 Silicon Graphics, Inc. Copyright Β© 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.

Copyright Β© 1991-2006 Silicon Graphics, Inc. Copyright Β© 2010-2014 Khronos Group


okay that's the whole page, you made it to the end, I'm so proud of you fr fr 🧚✨ one last little footer moment: the source still says [FIXME: source] (yes, the manpage itself has a to-do, relatable 😭), it's dated 08/09/2021, and it's filed under GLBLENDEQUATION(3G). go blend something, bestie β€” you've got this πŸ’–

πŸ“¦ where this page comes from