TEXTUREPROJ(3G)
π TEXTUREPROJ(3G) π
okay bestie, welcome to the [FIXME: manual] page for TEXTUREPROJ(3G) and honestly? she's iconic. pull up a chair, grab a boba, we're learning about projected texture lookups π§β¨
β¨ NAME β¨
textureProj β perform a texture lookup with projection π
πΈ DECLARATION πΈ
here's the whole overload roster, fr fr, copied character for character, no notes:
gvec4 textureProj(gsampler1D sampler, vec2 P, [float bias]);
gvec4 textureProj(gsampler1D sampler, vec4 P, [float bias]);
gvec4 textureProj(gsampler2D sampler, vec3 P, [float bias]);
gvec4 textureProj(gsampler2D sampler, vec4 P, [float bias]);
gvec4 textureProj(gsampler3D sampler, vec4 P, [float bias]);
float textureProj(sampler1DShadow sampler, vec4 P, [float bias]);
float textureProj(sampler2DShadow sampler, vec4 P, [float bias]);
gvec4 textureProj(gsampler2DRect sampler, vec3 P);
gvec4 textureProj(gsampler2DRect sampler, vec4 P);
float textureProj(gsampler2DRectShadow sampler, vec4 P);
like, look at all those overloads. she has RANGE. π
π PARAMETERS π
samplerβ this is the sampler the texture you're pulling texels out of is bound to. it's giving "which texture am I even looking at" energy π«ΆPβ the texture coordinates where the texture gets sampled. your little map of where you wanna peek πΊοΈbiasβ optional bias that gets applied during level-of-detail computation. optional!! she's a bonus, not a requirement β¨
π¦ DESCRIPTION π¦
okay so textureProj does a texture lookup with projection. the texture coordinates consumed from P β and listen, this is not including the last component of P β get divided by the last component of P. division era π
then the resulting 3rd component of P in the shadow forms is used as Dref. π―
after all those values get computed, the texture lookup just proceeds exactly like it does in texture(). same vibes, different setup. periodt. π
π VERSION SUPPORT π
so this is the OpenGL Shading Language Version tea β β which versions said yes and which ones said absolutely not. β means she's supported, - means she's not there yet π
textureProj1.10β-1.20β-1.30ββ1.40ββ1.50ββ3.30ββ4.00ββ4.10ββ4.20ββ4.30ββ4.40ββ4.50ββ
textureProj(gsampler2DRect{Shadow})1.10β-1.20β-1.30β-1.40ββ1.50ββ3.30ββ4.00ββ4.10ββ4.20ββ4.30ββ4.40ββ4.50ββ
not the 2DRect one showing up fashionably late to the 1.40 party π honestly relatable.
π SEE ALSO π
the whole friend group, go say hi:
texelFetch(), texelFetchOffset(), texture(), textureGather(), textureGatherOffset(), textureGatherOffsets(), textureGrad(), textureGradOffset(), textureLod(), textureLodOffset(), textureOffset(), textureProjGrad(), textureProjGradOffset(), textureProjLod(), textureProjLodOffset(), textureProjOffset(), textureQueryLod(), textureSize()
a whole squad. iykyk π«Ά
π COPYRIGHT π
Copyright Β© 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.
Copyright Β© 2011-2014 Khronos Group
and that's the whole page bestie!! πΈ she came from [FIXME: source], she's dated 01/03/2018, and she's filed under TEXTUREPROJ(3G). go forth and project those texels, you absolute main character π¦ππ
π¦ where this page comes from
- ubuntu jammy: opengl-4-man-doc 1.0~svn33624-1 Β· SGI-Free-Software-B-License-2
- ubuntu noble: opengl-4-man-doc 1.0~svn33624-1 Β· SGI-Free-Software-B-License-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms