/* Ċ Ġ* Ġ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 ĠNV _ bind less _ multi _ draw _ indirect _ count Ġ= Ġ" NV Bind less Multi Draw Indirect Count ". native Class GL (" NV _ bind less _ multi _ draw _ indirect _ count ", Ġpostfix Ġ= ĠNV ) Ġ{ ĊĠĠĠ Ġdocumentation Ġ= ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠNative Ġbindings Ġto Ġthe Ġ$ registry Link Ġextension . ĊĊĠĠĠĠĠĠĠ ĠThis Ġextension Ġadds Ġthe Ġpossibility Ġto Ġdefine Ġthe Ġnumber Ġof Ġdraw calls Ġwithin Ġa Ġmulti - draw - indirect Ġcall Ġfrom Ġthe ĠGPU , Ġas Ġprovided Ġby ĊĠĠĠĠĠĠĠ Ġ{@ code ĠAR B _ indirect _ parameters }, Ġfor Ġthe Ġfunctions Ġadded Ġin Ġ{@ code ĠNV _ bind less _ multi _ draw _ indirect }. ĊĊĠĠĠĠĠĠĠ ĠRequires Ġ${ NV _ bind less _ multi _ draw _ indirect . link }, Ġ${ ARB _ indirect _ parameters . link }. ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠ Ġvoid ( ĊĠĠĠĠĠĠĠ Ġ" Multi Draw Arrays Indirect Bind less Count NV ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠBe haves Ġsimilar ly Ġto Ġ# Multi Draw Arrays Indirect Bind less NV (), Ġexcept Ġthat Ġ{@ code Ġdraw Count } Ġdefines Ġan Ġoffset Ġ( in Ġbytes ) Ġinto ĊĠĠĠĠĠĠĠ Ġthe Ġbuffer Ġobject Ġbound Ġto Ġthe ĠPARAMETER _ BUFFER _ ARB Ġbinding Ġpoint Ġat Ġwhich Ġa Ġsingle Ġ{@ code Ġsize i } Ġtyped Ġvalue Ġis Ġstored , Ġwhich Ġcontains Ġthe Ġdraw Ġcount . ĊĠĠĠĠĠĠĠ ĠIf Ġthe Ġvalue Ġstored Ġat Ġ{@ code Ġdraw Count } Ġinto Ġthe Ġbuffer Ġis Ġgreater Ġthan Ġ{@ code Ġmax Draw Count }, Ġan Ġimplementation Ġmay Ġstop Ġprocessing Ġdraw s Ġafter ĊĠĠĠĠĠĠĠ Ġ{@ code Ġmax Draw Count } Ġparameter Ġsets . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠGLenum (" mode ", Ġ" the Ġprimitive Ġmode ", ĠPR IMIT IVE _ TYPES ), ĊĠĠĠĠĠĠĠ ĠCheck (" max Draw Count Ġ* Ġ( stride Ġ== Ġ 0 Ġ? Ġ( 1 6 Ġ+ Ġvertex Buffer Count Ġ* Ġ 2 4 ) Ġ: Ġstride )") .. Raw Pointer .. void . const . p ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" indirect ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" an Ġarray Ġof ĠDraw Arrays Indirect Bind less Command NV Ġstructures Ġ( see Ġthe Ġextension Ġspec Ġfor Ġmore Ġinformation )" ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠGLint ptr (" draw Count ", Ġ" the Ġbyte Ġoffset Ġinto Ġthe Ġbuffer Ġobject Ġcontaining Ġthe Ġdraw Ġcount . ĠThis Ġoffset Ġmust Ġbe Ġa Ġmultiple Ġof Ġ 4 "), ĊĠĠĠĠĠĠĠ ĠGLsizei (" max Draw Count ", Ġ" the Ġmaximum Ġnumber Ġof Ġdraw s Ġthat Ġare Ġexpected Ġto Ġbe Ġstored Ġin Ġthe Ġbuffer "), ĊĠĠĠĠĠĠĠ ĠGLsizei (" stride ", Ġ" the Ġsize Ġof Ġone ĠDraw Arrays Indirect Bind less Command NV Ġstructure "), ĊĠĠĠĠĠĠĠ ĠGLint (" vertex Buffer Count ", Ġ" the Ġnumber Ġof Ġvertex Ġbuffers Ġin Ġthe ĠDraw Arrays Indirect Bind less Command NV Ġstructure ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġvoid ( ĊĠĠĠĠĠĠĠ Ġ" Multi Draw Elements Indirect Bind less Count NV ", ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ ĠBe haves Ġsimilar ly Ġto Ġ# Multi Draw Elements Indirect Bind less NV (), Ġexcept Ġthat Ġ{@ code Ġdraw Count } Ġdefines Ġan Ġoffset Ġ( in Ġbytes ) Ġinto ĊĠĠĠĠĠĠĠ Ġthe Ġbuffer Ġobject Ġbound Ġto Ġthe ĠPARAMETER _ BUFFER _ ARB Ġbinding Ġpoint Ġat Ġwhich Ġa Ġsingle Ġ{@ code Ġsize i } Ġtyped Ġvalue Ġis Ġstored , Ġwhich Ġcontains Ġthe Ġdraw Ġcount . ĊĠĠĠĠĠĠĠ ĠIf Ġthe Ġvalue Ġstored Ġat Ġ{@ code Ġdraw Count } Ġinto Ġthe Ġbuffer Ġis Ġgreater Ġthan Ġ{@ code Ġmax Draw Count }, Ġan Ġimplementation Ġmay Ġstop Ġprocessing Ġdraw s Ġafter ĊĠĠĠĠĠĠĠ Ġ{@ code Ġmax Draw Count } Ġparameter Ġsets . ĊĠĠĠĠĠĠĠ Ġ"" ", ĊĊĠĠĠĠĠĠĠ ĠGLenum (" mode ", Ġ" the Ġprimitive Ġmode ", ĠPR IMIT IVE _ TYPES ), ĊĠĠĠĠĠĠĠ ĠGLenum (" type ", Ġ" the Ġdata Ġtype Ġof Ġthe Ġelement Ġindices ", Ġ"# UNSIGNED _ BYTE Ġ# UNSIGNED _ SHORT Ġ# UNSIGNED _ INT "), ĊĠĠĠĠĠĠĠ ĠCheck (" max Draw Count Ġ* Ġ( stride Ġ== Ġ 0 Ġ? Ġ(( vertex Buffer Count Ġ+ Ġ 2 ) Ġ* Ġ 2 4 ) Ġ: Ġstride )") .. Raw Pointer .. void . const . p ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" indirect ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" an Ġarray Ġof ĠDraw Elements Indirect Bind less Command NV Ġstructures Ġ( see Ġthe Ġextension Ġspec Ġfor Ġmore Ġinformation )" ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠGLint ptr (" draw Count ", Ġ" the Ġbyte Ġoffset Ġinto Ġthe Ġbuffer Ġobject Ġcontaining Ġthe Ġdraw Ġcount . ĠThis Ġoffset Ġmust Ġbe Ġa Ġmultiple Ġof Ġ 4 "), ĊĠĠĠĠĠĠĠ ĠGLsizei (" max Draw Count ", Ġ" the Ġmaximum Ġnumber Ġof Ġdraw s Ġthat Ġare Ġexpected Ġto Ġbe Ġstored Ġin Ġthe Ġbuffer "), ĊĠĠĠĠĠĠĠ ĠGLsizei (" stride ", Ġ" the Ġsize Ġof Ġone ĠDraw Elements Indirect Bind less Command NV Ġstructure "), ĊĠĠĠĠĠĠĠ ĠGLint (" vertex Buffer Count ", Ġ" the Ġnumber Ġof Ġvertex Ġbuffers Ġin Ġthe ĠDraw Elements Indirect Bind less Command NV Ġstructure ") ĊĠĠĠ Ġ) Ċ }