/* Ċ Ġ* ĠCopyright ĠL WJ GL . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicense Ġterms : Ġhttps :// www . lwjgl . org / license Ċ Ġ*/ Ċ package Ġop eng l . templates Ċ Ċ import Ġorg . lwjgl . generator .* Ċ import Ġop eng l .* Ċ Ċ val ĠAR B _ direct _ state _ access Ġ= Ġ" ARB Direct State Access ". native Class GL (" ARB _ direct _ state _ access ") Ġ{ ĊĠĠĠ Ġdocumentation Ġ= ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠNative Ġbindings Ġto Ġthe Ġ$ registry Link Ġextension . ĊĊĠĠĠĠĠĠĠ ĠIn Ġun extended ĠOpenGL , Ġmost Ġmutation Ġof Ġstate Ġcontained Ġin Ġobjects Ġis Ġthrough Ġan Ġind irection Ġknown Ġas Ġa Ġbinding . ĠObjects Ġare Ġattached Ġto Ġa Ġcontext ĊĠĠĠĠĠĠĠ Ġ( either Ġdirectly Ġor Ġindirect ly Ġvia Ġa Ġcontainer ) Ġand Ġthen Ġcommands Ġto Ġmodify Ġor Ġquery Ġtheir Ġstate Ġare Ġissued Ġon Ġthat Ġcontext , Ġindirect ing Ġthrough Ġits ĊĠĠĠĠĠĠĠ Ġattachments Ġand Ġinto Ġthe Ġunderlying Ġobject . ĠThis Ġis Ġknown Ġas Ġ` bind - to - edit '. ĊĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġder ives Ġfrom Ġthe ĠGL _ EXT _ direct _ state _ access Ġextension , Ġwhich Ġadded Ġaccessors Ġfor Ġmost Ġstate Ġon Ġmost Ġobjects , Ġallowing Ġit Ġto Ġbe Ġqueried ĊĠĠĠĠĠĠĠ Ġand Ġmodified Ġwithout Ġthe Ġobject Ġneeding Ġto Ġbe Ġbound Ġto Ġa Ġcontext . ĠIn Ġcases Ġwhere Ġa Ġsingle Ġproperty Ġof Ġan Ġobject Ġis Ġto Ġbe Ġmodified , Ġdirectly Ġaccessing ĊĠĠĠĠĠĠĠ Ġits Ġstate Ġcan Ġbe Ġmore Ġefficient Ġthan Ġbinding Ġthe Ġobject Ġto Ġthe Ġcontext Ġand Ġthen Ġindirect ing Ġthrough Ġit . ĠFurther , Ġdirectly Ġaccessing Ġthe Ġstate Ġof Ġobjects ĊĠĠĠĠĠĠĠ Ġthrough Ġtheir Ġnames Ġrather Ġthan Ġby Ġbind - to - edit Ġdoes Ġnot Ġdist urb Ġthe Ġbindings Ġof Ġthe Ġcurrent Ġcontext , Ġwhich Ġis Ġuseful Ġfor Ġtools , Ġmiddleware Ġand Ġother ĊĠĠĠĠĠĠĠ Ġapplications Ġthat Ġare Ġun aware Ġof Ġthe Ġouter Ġstate Ġbut Ġit Ġcan Ġalso Ġavoid Ġcases Ġof Ġredundant Ġstate Ġchanges . ĊĊĠĠĠĠĠĠĠ ĠRequires Ġ${ GL 2 0 . core }. Ġ${ GL 4 5 C . prom oted } ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠ ĠInt Constant ( ĊĠĠĠĠĠĠĠ Ġ" Accepted Ġby Ġthe Ġ{@ code Ġpname } Ġparameter Ġof ĠGet Texture Parameter { if } v Ġand ĠGet Texture Parameter I { i Ġui } v .", ĊĊĠĠĠĠĠĠĠ Ġ" TEXTURE _ TARGET " .. 0 x 1 0 0 6 ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠInt Constant ( ĊĠĠĠĠĠĠĠ Ġ" Accepted Ġby Ġthe Ġ{@ code Ġpname } Ġparameter Ġof ĠGet Query Object iv .", ĊĊĠĠĠĠĠĠĠ Ġ" QUERY _ TARGET " .. 0 x 8 2 EA ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġcheck Extension Present ( core : ĠString , Ġextension : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcustom Method (""" ĊĠĠĠ Ġprivate Ġstatic Ġboolean Ġ$ extension ( java . util . Set < String > Ġext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġext . contains (" OpenGL $ core ") Ġ|| Ġext . contains (" GL _$ extension "); ĊĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcheck Extension Present (" 3 0 ", Ġ" ARB _ framebuffer _ object ") ĊĠĠĠ Ġcheck Extension Present (" 3 0 ", Ġ" ARB _ map _ buffer _ range ") ĊĠĠĠ Ġcheck Extension Present (" 3 0 ", Ġ" ARB _ vertex _ array _ object ") ĊĠĠĠ Ġcheck Extension Present (" 3 1 ", Ġ" ARB _ copy _ buffer ") ĊĠĠĠ Ġcheck Extension Present (" 3 1 ", Ġ" ARB _ texture _ buffer _ object ") Ġ// ĠTexture Buffer ĊĠĠĠ Ġcheck Extension Present (" 3 1 ", Ġ" ARB _ uniform _ buffer _ object ") Ġ// ĠTransform Feedback Buffer Base , ĠTransform Feedback Buffer Range ĊĠĠĠ Ġcheck Extension Present (" 3 3 ", Ġ" ARB _ inst anced _ arrays ") ĊĠĠĠ Ġcheck Extension Present (" 3 3 ", Ġ" ARB _ sampler _ objects ") ĊĠĠĠ Ġcheck Extension Present (" 4 0 ", Ġ" ARB _ transform _ feedback 2 ") ĊĠĠĠ Ġcheck Extension Present (" 4 1 ", Ġ" ARB _ vertex _ attrib _ 6 4 bit ") ĊĠĠĠ Ġcheck Extension Present (" 4 1 ", Ġ" ARB _ separate _ shader _ objects ") ĊĠĠĠ Ġcheck Extension Present (" 4 2 ", Ġ" ARB _ texture _ storage ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ texture _ storage _ multis ample ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ vertex _ attrib _ binding ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ invalidate _ sub data ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ texture _ buffer _ range ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ clear _ buffer _ object ") ĊĠĠĠ Ġcheck Extension Present (" 4 3 ", Ġ" ARB _ framebuffer _ no _ attachments ") ĊĠĠĠ Ġcheck Extension Present (" 4 4 ", Ġ" ARB _ buffer _ storage ") ĊĠĠĠ Ġcheck Extension Present (" 4 4 ", Ġ" ARB _ clear _ texture ") ĊĠĠĠ Ġcheck Extension Present (" 4 4 ", Ġ" ARB _ multi _ bind ") ĊĠĠĠ Ġcheck Extension Present (" 4 4 ", Ġ" ARB _ query _ buffer _ object ") ĊĊĠĠĠ Ġfun Ġd sa ( extension : ĠString , Ġfunc : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDep ends On ("$ extension ( ext )") .. ( GL 4 5 C Ġreuse Ġfunc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġd sa (" ARB _ transform _ feedback 2 ", Ġ" Create Transform Feedback s ") ĊĠĠĠ Ġd sa (" ARB _ uniform _ buffer _ object ", Ġ" Transform Feedback Buffer Base ") Ġ// ĠTODO : Ġinteraction Ġnot Ġmentioned , Ġspec Ġbug ? ĊĠĠĠ Ġd sa (" ARB _ uniform _ buffer _ object ", Ġ" Transform Feedback Buffer Range ") Ġ// ĠTODO : Ġinteraction Ġnot Ġmentioned , Ġspec Ġbug ? ĊĠĠĠ Ġd sa (" ARB _ transform _ feedback 2 ", Ġ" Get Transform Feedback iv ") ĊĠĠĠ Ġd sa (" ARB _ transform _ feedback 2 ", Ġ" Get Transform Feedback i _ v ") ĊĠĠĠ Ġd sa (" ARB _ transform _ feedback 2 ", Ġ" Get Transform Feedback i 6 4 _ v ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Create Buffers " ĊĠĠĠ Ġd sa (" ARB _ buffer _ storage ", Ġ" Named Buffer Storage ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Named BufferData " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Named Buffer Sub Data " ĊĠĠĠ Ġd sa (" ARB _ copy _ buffer ", Ġ" Copy Named Buffer Sub Data ") ĊĠĠĠ Ġd sa (" ARB _ clear _ texture ", Ġ" Clear Named BufferData ") ĊĠĠĠ Ġd sa (" ARB _ clear _ texture ", Ġ" Clear Named Buffer Sub Data ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Map Named Buffer " ĊĠĠĠ Ġd sa (" ARB _ map _ buffer _ range ", Ġ" Map Named Buffer Range ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Un map Named Buffer " ĊĠĠĠ Ġd sa (" ARB _ map _ buffer _ range ", Ġ" Flush Mapped Named Buffer Range ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Named Buffer Parameter iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Named Buffer Parameter i 6 4 v " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Named Buffer Pointer v " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Named Buffer Sub Data " ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Create Frame buffers ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Render buffer ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ no _ attachments ", Ġ" Named Framebuffer Parameter i ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Texture ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Texture Layer ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Draw Buffer ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Draw Buffers ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Framebuffer Read Buffer ") ĊĠĠĠ Ġd sa (" ARB _ invalidate _ sub data ", Ġ" Invalidate Named Framebuffer Data ") ĊĠĠĠ Ġd sa (" ARB _ invalidate _ sub data ", Ġ" Invalidate Named Framebuffer Sub Data ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Clear Named Framebuffer iv ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Clear Named Framebuffer u iv ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Clear Named Framebuffer fv ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Clear Named Framebuffer fi ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Blit Named Framebuffer ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Check Named Framebuffer Status ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ no _ attachments ", Ġ" Get Named Framebuffer Parameter iv ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Get Named Framebuffer Attachment Parameter iv ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Create Render buffers ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Render buffer Storage ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Named Render buffer Storage Mult is ample ") ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Get Named Render buffer Parameter iv ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Create Textures " ĊĠĠĠ Ġd sa (" ARB _ texture _ buffer _ object ", Ġ" Texture Buffer ") Ġ// ĠTODO : ĠTexture Buffer Ġdepends Ġon ĠAR B _ transform _ feedback 2 ? Ġspec Ġbug ? ĊĠĠĠ Ġd sa (" ARB _ texture _ buffer _ range ", Ġ" Texture Buffer Range ") ĊĠĠĠ Ġd sa (" ARB _ texture _ storage ", Ġ" Texture Storage 1 D ") ĊĠĠĠ Ġd sa (" ARB _ texture _ storage ", Ġ" Texture Storage 2 D ") ĊĠĠĠ Ġd sa (" ARB _ texture _ storage ", Ġ" Texture Storage 3 D ") ĊĠĠĠ Ġd sa (" ARB _ texture _ storage _ multis ample ", Ġ" Texture Storage 2 DM ult is ample ") ĊĠĠĠ Ġd sa (" ARB _ texture _ storage _ multis ample ", Ġ" Texture Storage 3 DM ult is ample ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Sub Image 1 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Sub Image 2 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Sub Image 3 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Compressed Texture Sub Image 1 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Compressed Texture Sub Image 2 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Compressed Texture Sub Image 3 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Copy Texture Sub Image 1 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Copy Texture Sub Image 2 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Copy Texture Sub Image 3 D " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter f " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter fv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter i " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter I iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter Iu iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Texture Parameter iv " ĊĠĠĠ Ġd sa (" ARB _ framebuffer _ object ", Ġ" Generate Texture Mip map ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Bind Texture Unit " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Image " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Compressed Texture Image " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Level Parameter fv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Level Parameter iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Parameter fv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Parameter I iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Parameter Iu iv " ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Get Texture Parameter iv " ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Create Vertex Arrays ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Disable VertexArray Attrib ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Enable VertexArray Attrib ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" VertexArray Element Buffer ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray VertexBuffer ") ĊĠĠĠ Ġd sa (" ARB _ multi _ bind ", Ġ" VertexArray Vertex Buffers ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray Attrib Format ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray Attrib I Format ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray Attrib L Format ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray Attrib Binding ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ attrib _ binding ", Ġ" VertexArray Binding Div isor ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Get VertexArray iv ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Get VertexArray Indexed iv ") ĊĠĠĠ Ġd sa (" ARB _ vertex _ array _ object ", Ġ" Get VertexArray Indexed 6 4 iv ") ĊĠĠĠ Ġd sa (" ARB _ sampler _ objects ", Ġ" Create S amp lers ") ĊĠĠĠ Ġd sa (" ARB _ separate _ shader _ objects ", Ġ" Create Program P ipelines ") ĊĠĠĠ ĠGL 4 5 C Ġreuse Ġ" Create Queries " ĊĠĠĠ Ġd sa (" ARB _ query _ buffer _ object ", Ġ" Get Query Buffer Object i 6 4 v ") ĊĠĠĠ Ġd sa (" ARB _ query _ buffer _ object ", Ġ" Get Query Buffer Object iv ") ĊĠĠĠ Ġd sa (" ARB _ query _ buffer _ object ", Ġ" Get Query Buffer Object ui 6 4 v ") ĊĠĠĠ Ġd sa (" ARB _ query _ buffer _ object ", Ġ" Get Query Buffer Object u iv ") Ċ }