From 70890e3e339064993a7c905683c70a3ec5bd47f4 Mon Sep 17 00:00:00 2001 From: Nitload Date: Tue, 28 May 2024 17:45:54 +0800 Subject: [PATCH] daily update on 20240528 by nitload youmu --- ...6844a8bb-02fe-4e9e-8452-58211738cdc0.vsidx | Bin 0 -> 1082667 bytes .../Controlling/Controls/BattleField.cs | 51 + .../Controls/CharacterIndexImage.cs | 59 + .../Controlling/Controls/ControllingIntem.cs | 25 + .../Controlling/Controls/DecorationBox.cs | 26 + .../Controlling/Controls/KeyboardButton.cs | 110 + .../Controlling/Controls/MarkingLable.cs | 47 + 源代码/StgSharp/Controlling/Designer.cs | 19 + 源代码/StgSharp/Controlling/Get.cs | 53 + 源代码/StgSharp/Controlling/IO/GLIO.cs | 2641 +++++ 源代码/StgSharp/Controlling/IO/InternalIO.cs | 155 + 源代码/StgSharp/Controlling/KeyControl.cs | 220 + .../StgSharp/Controlling/KeyEventAttribute.cs | 39 + 源代码/StgSharp/Controlling/ProcessInput.cs | 47 + 源代码/StgSharp/Data/InternalData.cs | 14 + 源代码/StgSharp/Entities/EliteEnemy.cs | 7 +- 源代码/StgSharp/Entities/Enemy.cs | 7 +- 源代码/StgSharp/Entities/IEntity.cs | 2 +- 源代码/StgSharp/Environment/Platform.cs | 23 +- .../Geometries/Coordination/ICoord.cs | 13 - .../Geometries/GeometryOperation/Angle.cs | 6 + 源代码/StgSharp/Geometries/IGeometry.cs | 9 +- 源代码/StgSharp/Geometries/IInstancing.cs | 101 + .../StgSharp/Geometries/IInstancingBuffer.cs | 27 + .../PlainGeometry/Define/IPlainEntity.cs | 1 - .../PlainGeometry/Define/ParticleOnPlain.cs | 86 + .../PlainGeometry/Define/PlainGeometry.cs | 55 +- .../Define/PlainInstancingBuffer.cs | 33 +- .../Geometries/PlainGeometry/Parallelogram.cs | 40 +- .../Geometries/PlainGeometry/Point.cs | 5 - .../Geometries/PlainGeometry/Polygon4.cs | 133 +- .../Geometries/PlainGeometry/Polygon5.cs | 117 +- .../Geometries/PlainGeometry/Polygon6.cs | 117 +- .../Geometries/PlainGeometry/Rectangle.cs | 4 +- .../Geometries/PlainGeometry/Square.cs | 8 +- .../Geometries/PlainGeometry/Triangle.cs | 69 +- .../Graphics/CPUanimation/AnimationBuilder.cs | 80 + .../Graphics/CPUanimation/IImageProvider.cs | 12 + .../StgSharp/Graphics/Define/StructDefine.cs | 2 + 源代码/StgSharp/Graphics/Define/glConst.cs | 9607 +++++++++-------- 源代码/StgSharp/Graphics/Define/glEnum.cs | 103 +- 源代码/StgSharp/Graphics/Form/Form.cs | 16 +- .../StgSharp/Graphics/Form/FormThreading.cs | 36 +- 源代码/StgSharp/Graphics/Form/ShowForm.cs | 8 +- .../Graphics/GL/Buffer/BufferObjectBase.cs | 4 +- 源代码/StgSharp/Graphics/GL/Buffer/EBO.cs | 21 +- 源代码/StgSharp/Graphics/GL/Buffer/FBO.cs | 19 +- 源代码/StgSharp/Graphics/GL/Buffer/RBO.cs | 38 + .../StgSharp/Graphics/GL/Buffer/TextureGL.cs | 155 + 源代码/StgSharp/Graphics/GL/Buffer/VAO.cs | 20 +- 源代码/StgSharp/Graphics/GL/Buffer/VBO.cs | 37 +- 源代码/StgSharp/Graphics/GL/GLhandle.cs | 32 +- 源代码/StgSharp/Graphics/GL/GLpack.cs | 204 +- .../Graphics/GL/GLresourceGenrator.cs | 21 +- .../Graphics/GL/ShaderEdit/IglConvertable.cs | 4 +- .../StgSharp/Graphics/GL/ShaderEdit/Shader.cs | 47 +- .../Graphics/GL/ShaderEdit/Uniform.cs | 54 +- 源代码/StgSharp/Graphics/GL/glApiManager.cs | 14 +- .../StgSharp/Graphics/GL/glApiManagerConst.cs | 2 +- 源代码/StgSharp/Graphics/GL/glRenderStream.cs | 29 +- 源代码/StgSharp/Graphics/Image.cs | 293 +- 源代码/StgSharp/Graphics/PlainGeometryMesh.cs | 58 + 源代码/StgSharp/Graphics/RenderStream.cs | 153 +- .../Graphics/ShaderEdit/ShaderGenerator.cs | 1 + .../Graphics/ShaderEdit/ShaderStruct.cs | 8 +- 源代码/StgSharp/Graphics/TexturePipeline.cs | 26 + 源代码/StgSharp/Logic/Blueprint/Blueprint.cs | 2 +- .../StgSharp/Logic/Blueprint/BlueprintNode.cs | 120 +- 源代码/StgSharp/Logic/Blueprint/PipeLine.cs | 4 +- .../StgSharp/Logic/Blueprint/RouteSwitch.cs | 182 + 源代码/StgSharp/Logic/Blueprint/SideNode.cs | 44 +- 源代码/StgSharp/Logic/TimeFunction.cs | 146 + 源代码/StgSharp/Logic/TimeSpanProvider.cs | 52 +- 源代码/StgSharp/Math/Graphic/Camera.cs | 6 +- 源代码/StgSharp/Math/Linear/vec2d.cs | 4 + 源代码/StgSharp/Math/Linear/vec3d.cs | 2 +- 源代码/StgSharp/Math/Linear/vec4d.cs | 123 +- 源代码/StgSharp/Math/Scalar/Random.cs | 2 +- 源代码/StgSharp/Resources/Collisionfs.txt | 0 源代码/StgSharp/Stg/Bullet.cs | 14 +- 源代码/StgSharp/Stg/CollisionTexture.cs | 187 +- 源代码/StgSharp/Stg/TimeLine.cs | 10 + 源代码/StgSharp/Stg/Touhou/TouhouBuilder.cs | 27 + 源代码/StgSharp/Stg/Touhou/TouhouWindow.cs | 18 + 源代码/StgSharp/StgSharp.csproj | 17 +- .../obj/StgSharp.csproj.nuget.dgspec.json | 2 +- 源代码/StgSharp/obj/project.assets.json | 2 +- .../netstandard2.1/StgSharp.AssemblyInfo.cs | 2 +- 88 files changed, 10678 insertions(+), 5761 deletions(-) create mode 100644 源代码/.vs/StgSharpDevelop/FileContentIndex/6844a8bb-02fe-4e9e-8452-58211738cdc0.vsidx create mode 100644 源代码/StgSharp/Controlling/Controls/BattleField.cs create mode 100644 源代码/StgSharp/Controlling/Controls/CharacterIndexImage.cs create mode 100644 源代码/StgSharp/Controlling/Controls/ControllingIntem.cs create mode 100644 源代码/StgSharp/Controlling/Controls/DecorationBox.cs create mode 100644 源代码/StgSharp/Controlling/Controls/KeyboardButton.cs create mode 100644 源代码/StgSharp/Controlling/Controls/MarkingLable.cs create mode 100644 源代码/StgSharp/Controlling/Designer.cs create mode 100644 源代码/StgSharp/Controlling/Get.cs create mode 100644 源代码/StgSharp/Controlling/IO/GLIO.cs create mode 100644 源代码/StgSharp/Controlling/IO/InternalIO.cs create mode 100644 源代码/StgSharp/Controlling/KeyControl.cs create mode 100644 源代码/StgSharp/Controlling/KeyEventAttribute.cs create mode 100644 源代码/StgSharp/Controlling/ProcessInput.cs create mode 100644 源代码/StgSharp/Data/InternalData.cs create mode 100644 源代码/StgSharp/Geometries/IInstancing.cs create mode 100644 源代码/StgSharp/Geometries/IInstancingBuffer.cs create mode 100644 源代码/StgSharp/Geometries/PlainGeometry/Define/ParticleOnPlain.cs create mode 100644 源代码/StgSharp/Graphics/CPUanimation/AnimationBuilder.cs create mode 100644 源代码/StgSharp/Graphics/CPUanimation/IImageProvider.cs create mode 100644 源代码/StgSharp/Graphics/GL/Buffer/RBO.cs create mode 100644 源代码/StgSharp/Graphics/GL/Buffer/TextureGL.cs create mode 100644 源代码/StgSharp/Graphics/PlainGeometryMesh.cs create mode 100644 源代码/StgSharp/Graphics/TexturePipeline.cs create mode 100644 源代码/StgSharp/Logic/Blueprint/RouteSwitch.cs create mode 100644 源代码/StgSharp/Logic/TimeFunction.cs create mode 100644 源代码/StgSharp/Resources/Collisionfs.txt create mode 100644 源代码/StgSharp/Stg/TimeLine.cs create mode 100644 源代码/StgSharp/Stg/Touhou/TouhouBuilder.cs create mode 100644 源代码/StgSharp/Stg/Touhou/TouhouWindow.cs diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/6844a8bb-02fe-4e9e-8452-58211738cdc0.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/6844a8bb-02fe-4e9e-8452-58211738cdc0.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..6ef252dcbe383c3ee90ffc8962434f63c82a0df7 GIT binary patch literal 1082667 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Ç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 YE?dX442 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

aXiB+OH|I{wtq*Ha9h4J0rGg7Bc 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

hnvjv2zC~6DG_ZP&F7w6cm&24U} zwa&KROKd8R#}v@$yD&_R@6h)M&8)_en!c#sUVUj)XK4%8|EX)=8Aeqrv2E!TO0>(6 zAG_PIo1;lTIT%fpR*g0JoVF~JdTDzaCms+TdV1Z~SU5N&u~)B;s9i|A-2Y`aM?JAC z^VORwVApnu%_2s;nI8($ZQ9Y7S@?qPO=bF%JJfi6*{L0CJkp$zcwdH2=|@*NcR^6O zwubqEg++lm|J2ikF$%PvIJhP?#DuQ$2s^ygR^DsFvK7J21v;RTv|V{|7#738%mcak z0iQF6XfYyY0+WxO>)r}ASKKVt7{5_pWorOcS`>b(^pRQ%i>SWm6R#|LkqeW2Er!DN%(+2ago^tRTF{k#R8?|CM4*R1a|U1QqNZv03~r&biSu z|M_0KCtg594}@vAkMhI%X!qxf1E)HWeN>)gT)Hq(9`mS8whh^LXJ34$9`D3q9b?P_ z^!ekIasgf6!oXB^Tb^=J4wvH$wCQNbDwZwX}p6VhU#woWh_H4 zJ%gk=zY|`V}n&p_q8azPx2OqA-qZOhA=)_|KjS*4|Nh>GZCCj<^$QiU8{R^^bR^VXP(*%kAmECz#Wd@W&%8CO;r zjJ3R+uN770NKqg=xEGJ?xFXB0poPk}%@m|kTbQkd8{)3=!~WSyztqMJG^XX*zJadb zCvp5pcIZRPaqlL?nTHK=QiVwjqEK9_(<%s0@0RLSra?L>2EI2AuFw?3m$}BmndSpy zLVeyGRbeZlN0)7PMm_np+-wrBHMulLF+G;?Y@FY?Jx>QA(wrTZWye>xAaxiZaDo$y zs&TZHu0_^NV}Xxf+x#ruNcc7b>aq3&1G;fK?|1%syDKV(movmBoNdDs?bIt%wcjhu zj{z>nIz0!HC??=SQZLK;a^zZPt3_##^G;=y9}BG05oM)J%mO@3mHd^(F`LHGT9w!f z*|xYSFmO(D^97#L;be`EP9`;ER7|Cg>PZC^S7c`9g_*H-n#(+AoTj7y&-={MP^x){ zxw0HaRdH~U$^C}(gyUp5vo{3330f{(DaCzK%to@*!h8$6X=0BTHFa7;$|u{jskgsQ zGm8Td_N5zxAPyoR)6=dortEZ5#3U@>jgh%>+>E17J6(7x#tzF|JO#7@q&iHQ#a=KMIWn90`q z4)3tCqqUNJtDkLsqDjZNgQ;$Iw3}rQU>MtrITVlh!h(DiPV5%MyInT2B9@~qV0y}Q z2Y>%##GS7XMFymu#Uyo2LyqmQ##42u8Zqrf`mOyCf;YW&4~oXtXci2~d% zaLWuIcy-io(6Je>BaDbwHOAWUC#2e3KN(6~DEpOnl^R&)9Lv~f861yxdB}KIb7eKB zhGNdE;bFS{BseN|Q$t_&R**_DF3+XOLS*+vhgk265pf}r zNdfYg@<2NLHK#b)_}+Mw@x{SQ4hnc_$w7mW*pX=D2yrC+NwhTgiSL_efOFC{m!ewv z&6YFEiht3;HRU}*c~9M}kwbQn7cJ=+XnO6|RK<}3M$t+&70LZn=a3LmF#f7Th=y?0 z@G-$AFoc$eT{rzrY4%(3*2 z+O28v$hF3E2W6Q4RgZtoGNFD0zg3;p-~s#|itnJU*o(M%Kz(K9_<|C=A|x=b&i9I&m@;8yF3HR zog1AuLxuAe=Pc*nq29aA<=dTiIPZjdKHGT@RJiZwSLyu_zjAku^I_*)sP`V_w-&!I zxcoAdd$00)48K3~tMG5;SMP7-SMF`&SMTj`?u0Vm#jpI`?eZSyUS|cAI~lwzR)w-x zjX$m6F)p`(dVajiCpb@p^7mwy3tevOayyqhK$YF|;C}F8sBrc1=lxtB;PRDF=`hO8 zuZOZX9xDEmp}vXPkRQ9-d5`m6sBqm674F34IZ)r-6HwpUvryr9!TE}tzX|!VxA>!Q zEO+^RD0f#t+5ZG8T%W@_@F#!%3zWN?puWxOSdzV({84xgfVJV_Zr%{`sx@-vxOo$o zk94^il)HJb25jTckA(_n2bYVX;@J)A{T{F;Jm1;Z&HKAN49frEusOWb<+~t1cDKv- zK!yK)XX54$Ip;urY%YJ~?_(}M0pInbXE zfvTU!K>1hV@-&yH!~HS8&E?yjcR;y&m&>!E!a2v~hyD3Hmmh)r*yGNppxk{0>N|J~ z%Kx{a!uKvzct3zj|CLbXYz@qY|90~|&cI9Ze}5?Z2SLRv2iAqhK)K%r9tewF?g;s@ zuKdw=c%jReLcM<(R6P4SFNbQI#=Be&`LW3^Pjya*vVVhf22{9ib@?{u?NILD>GEC9 z*^nQ*k3V|;fXj2B+d#j>|LOc3>isXA|8jl_`LVV9Q8<2p3dee=_kVK! z?EJ;K!MV}-t8g7Wub*aA*+c`{Tvyv^m? zp~}}hsQP9Fl>L=%SGfF<%PXB9yZNWiRc`*7^PkSu&d;4+IR6C|zOP+g0~M}s zTwdqTzjyfu=a0_y&Yz&tZ==heZ^AKkPDE|&~IosvKU2f=d zBWI4Yv9pQuNM}=LGiR=|IaGeNbhdW$qoCqb;PNrfHcc2e(W&atd{C)w-otL2Oz3tE6f%y0YGSvHRU2YFGcW@r$$1dTI(xD%eJ6FMjU@25M$2!MBxl;}m zp2==L#W~fV-vCwr-UIouIsB2kkHf>@Vwaagxwpc(63V}iou5F(=N~Swf=43ngzEoh zkje7rASibZfzQIFQ0}}770&maA2~nu=l^i7g7W8|Q0ed`l)bf3?tTkZ&VGV=?-%Dr zD1Uy1dha)vw>Y;tw>h^vcR;1bZYX;dZmv#@+zU|tRDlY|elFK=?ho}|E$0ES82JpS zam=Mq{j%Zyd<4{YJr2sn@ zDb)MR-26S~a!8ihCs5&7UGP~omZVUWE{ zsQjw|Wq*ID{$`e&H*)jF&Lg4xZw_U@1ynd%xttH>&QZ<+H$TSN1}YpU`SU_IFM_I{ zPIdFsp!_+*pP%XGJ>C2~H}B;<-`U%Ff%8JBd>!oa5UB7DhjM?En_mM-8XFIl9+Uj} zG^l*K!{xi7@;QNu|3l6>&WEAgeH7}wXIy?BDt>RnBjGwIe}04t&(Bc#{5zDpJK+(q zK9=SQ;U(|}sPXpw{(K%(JfDMdZ@%++=L^mkp}v>5 zTz(t2M&97^M(3~2O;F`%7gW6dgi3dPRPrY{Gn`eNnNabq=B)1KHJmk};$O#~*MmyO zL;U%nQ1NaA72Xz5{!I@V4=8u`K!ty=vjWEa zAQR;Neo)V=L!xYlxO^xqM(*wM1uzeJg3A-3!aEZxzh=An-OhWQ_d=y(0u}zppu+bC zJQ;3>@_&c(ci12KA_}9-FNU)BH>mIqfb#EZe?AH-9AjM`=Nu0e-bbPOhi^jJf7_og zfO2Pr%O66e*T*h@0+k+XUH%5j{O%Q<2vmAE^yiJB;@8aOTqyrrLVYL4K*hVgKkoolZ(jn*DjVwN z!<@rm6U_e(J{zihJq_E!pJB{*f4&teoZDUA0ac&X;E&$p=A7u>p-}1B04kh^ zJ9FH;v9pQuNGSWQT+W9ouZ2+lwS|Y`;JE}&^N_=#%tu1`b2U`{TMc z2l(?Vp~}HvmxsDM(&bT55NezS8Hlz+E7 zXG6JjH&i)F+<4APhI4mY?@B-xNQ000Kl)bsmN1)t$)cKg3KjHF|EVxFLLvDTwV(GoqpoxtDw^53#jmZ36=iqoa^2EXXggzuTb&X3jWJ9oJG zzg_;r`KNQYa}SjN6)tNsKyn6@KUJXOS>h@A8Sxlij?~<+d)jbGCPO@aG+&(xt1*r$W`|XG6v79Ot>t^PuX( zJ}&o#3g_i6|IOJS%AH{@4|k4$djD#ud>rj^2~@g_bGZ!4|8kcnx;)9{Db8um8z5O@ z54rp>RJ*yzS;@3EJgqjntKyAVoe zhutSJ+~`oo{J7hn-wWmLgU*Mc(ibh=SpUBX)vx&+Dm-hT-v1UV{@+2x`v)lhe}O7r zoJSGku@maOT`vC#Wgq>-_#9=yD5LKe-`fw;rLn_ZJ_5?!CQ#+0nVaXjoab^&sBq-F zIU7mi`)KXQd`G`Ax__FpyYqA?duKS$a&uH4qy2MTKF`_9c|MfA3!E3Z`NhsloR>N; zgNn!BoL4!AI_js;zBkLs z=?pRb+5H#&LsvIGpY6Qcd5`m6=Y3G&d%&4M2p z=R2QwqC_6U^&-@JFT4DT^Ht|-Q0ez3RCpG;`6B0H=Mv{T&ZW+Gq1=DZ<>fAa;PMLR zht7|jE1~Rt;_|01uX346&k{?_@OoB!bQkIwaO z{KYm0s1M%2y3H-yh~6w{p2PR6pQksP_t;Mb5U)cFy+B z4$fj{M`tHzXJ;2@SLZ3tQ=Q$Mr#ZVjPlt-f8P2oZyr=VQ=Q+-Eo##1wInQ_YhH~#h zmoIW&?7YNzsq->tA7@`@Kj-Dnzd8Fm2RN^AUg^BbInX)CIoLVGIn+7KIovtIInsHx zbCmNM=e5r3oYy-?JI6RnpweTk%j2Bmon_8)=LF|O=OpK3=M*USra5nL^BK;W&KsRK zId6utH_PR}J8yN~=Dgi`hx1P7UC!B1<^4XW`r<*T`gtyt`;RyubMvQNeiq8!3ogF| z^&PzI@~h6*oo_<9zX0mJh0aCJ#Zdme<9yfooBj-xz$IefjpF+96 z%H_|T|8%Z)e(wCj`7h^}&aa@{S>yc1&DS}nei?so2R?sZl`$-T`QOszR?d89Yv)l=?zeIISm$xh zpUp;&Uf?P z&I_RYz1ZbToR>N;bM|reg>vU|XMd=E>L7nU*v*GJhr9U*m#>EEZ%%Xb>CPLRGn_M> zH#%=}-t4@^Im`KXsBqop^6kz$oOk;3+0J{M_c;u_WLEM{C*88z20p1H{$N7oD-arpu#iRIR(ny8UFl6=gt277UwKCzZEK6ce*^=pWp4g z$Ib6^`F`gEQ0Y6@pFiT}kGlN0KY!Nc`TqQQ=L^mk{rSsK>GGP(Z}{^!-F$&_v70Y( zzT;f#eAl@QDj$}+{JzU8T>jAck#i+fx~+2gGv_~@tD*Y6-$A+igPZ^8T<_*TyZnoD z15~^=`Sai0e2a6dbDMKJl>5KCywkbM&Hr%uPv>qZ_bXhsoK&s?iHp1?;q-H;5-cKdA9QisPfa;9daoSH zok=cFhH_`B%hO!G0qVUQowvC8-<`KXxp%ws4yf?o?eaZP_V0&s|3R1MxI7oi{ydi- zg|h!7l=)LGKL?esFGGEAZ$P>GHk7*yq26EQT?o%4I=4^Zy>4CT%SsP{IyyvgOwkR?WLvPtKc8bH}Q9LiopXATU= zjh#)P;@`sMJZDR1E2#ca8>ny=x_Obat+So8y|V*UI(CBczl)o9b)EthzV1-(o#FD? zQ2oGJ;0S}+6i1EK8Ka~|T%ayEntM^l$u zIP;xs%#QYtgLonsCW%@d8l)w^IGQ^DEG%g#c!OO zPjF6g-r&3mD*bMSnjcTxe6I5`=Tpw-pxl1}X26%6uR!_ts`E9dbbHIW$hj0M9xI{J z<1^=%{(P;=KR7qI`DR#$_c{J1`XePT`4^!4sp{mIofxkDod-B;JL^Kdf3Wi~H_vt+ z0juyl$K@u@rcmjW2jy=|XDe6*`6%ZxFa!BmD1T0bdjBLhFN9T)+qvAq+0ohA+0}U} zlsl)pe1`KZH$N9DTo*vqCxfB<8{+08p~}%X*b+Vp<=&I<0$8PK+7GP{^&K~Y%9m#F z0N4h`dIT!py1-1>4a%R>U=`Q{s@^#lDjZiprNdQF?+t`{ZwSR?*b4JQo2TzJfRZ~yR4uGGl)D_rU|7{b zDKVZmLxuAesBr(?WlndB;pY6G7{0kMi|23q^94}pv;t~ewFWAl>tG?wZjrisI8?ee zfl9}Gm)k&%13E+b+ZATQ)0}5Oh3icC8*HDK${k=6ADUo9P8mK_(pyjo;TtC$je-Q56Zul zP~rI8&A))MzZN!zQZiI|s1FsdgJDhB2%Zf`K!xvWe?AJT+>Cbf5~%WbCscae0}p_Y zLb>-Cl>hTxejdub7hQe{D&OCQa`ywM^!W%X-PS?9{~c7geuZ*(6I495ySxL+|9?Z- z-wnIK;-gagouKS>c6NaeBd>S)Cn$RxpxoIE6`t*|Ei5=X)sH_7Hbx!E+M2LZ#<+D0lWiqG+w!q~)wHl>Grv@fix0E+e4a8R@** z&98+Fne29WD0~t!C1USE+5g!2Ih4Qug38D5q5S_9Djj$E^FLr+iynO;q2@3<<9=j zE1=%L(s`Ae4{~|1bBJ@ObC`3ua|BeoUJezm$0F z>3iLv{O=A`etScGKbJzqyB}2k^oJ@J!=c_E=^W*}7RK)m>izLh)m`4RCu>Qg=edCn{&H!hx2#mPN;bN+vPu8-VN(xUgyO0c|EA~IULI0 z#!%_e49dS;DF5@E`LGu9N&fs~D0}T)?f~_ECn$GLflBwY{rNdi;X2RdUQqTgf_ncl z=jBlOdKFYS208~h2Sd3t6w1F5&QWfDt@C;)`=gy>oF&du=UC@B=XhtCv)nlW%HK&) zizjp;d&mbUD*WX?r(0s#km#AogFU!4)xwH zDF3C5E>?$pidF>myd9ML?VTN*#s0jL%blUzKgH!!o!y+LIlDvEf9Jvh@KvaIyai={ zAyhctgYtK|KmQ0SJRiIHCoccPq{3|H`*17q2&L8~wkIwZ_U_=lI+VL_LbIeTpj|I|0AKoH43VJ7~?E+^9fMtHU%o3rb5N@2B>h%b1w4di(zBTzk}*; zY=^3cGx#XQI#Bgv7S!`rupVp&6~3-e-^H2E-caGY5VAC5*F%MSEL6NFxjfx@lk-+6 zf9`YnA*k@rf%4}GD0iQNir;h27opyJ2`c?QgnDnK^AmsmDOC8sgDRK1q0+y4yEOd| zg7W_eDF2$dd4Zc3LcM5Gou^oVm`H zQ2w`e`4}jFPK2^|va<;4z4k5_LxuA+=Q&W}y2yFCa}ZScu7L_q8I=1|pzPo5^6gOm z-3jH--Ol@*4?5>SrSGFq?#_p@_k!~!sC0iBD!#8ng=?|P??T!C0Lq__pu({l>bvY^73?eY;&?l*<%d zeyYpeoo6_EI?r{U4>PcTfy);=FLU;D_IF88e?Y!6d08~Cb2K7BX2bE4Q`SVxdLC7Dt{E_n$n1T5}pyIO% z>O1+;<*%GyL%H{@%ilS_cm4oXUN=C!_nVt~a^EySjWDlz(SK`G2W%AgqEs1j_zU=P>7RD1XMl3|Q*s zW1;GkDK1ZS`4*`6?}iHZ{jds5p!|Q#> z%W3Vyc=II9B}Iw`rIHL$O2$&6R3u4}$gEIG6QPL=Q4&%~ktwoMBr-*!WXO<|A(=^( zX`g@3c^uzy{PuONwXSuob>GkPzQz7_))zUxP`4zePAM#bE(Kr<6|)254U0ZxD#{E>3Wa(`;BK~ z>OP7&&tv+yKA}%y{#?Hj)Bh{_n&Yn%zuZe|2?MvUohv~g{81ahr;i1 zyJPazG4pC+>g}(G;r_&ZG3Pr6OXDESIWN}Bbg*8f!!UJ6V)_|neyone>^~V(|5nU- zZ`Y}q^><_LZ7!zHgIF3DV%9&6d9EvTHI^oR7qk9D{S@>5d~N(4rta^U{r|+A>mM!J zu@INg(pnD7Fs}-xpQ`3-VEV7AwJ`hdqxH=<#QbxW!!Z4{$GrC^Vj1j)S$7)ddG#^w zk7bAlVQIYF{8gB~hv^6%rDJuR-h|orHcbDwW6pmUrvK@fejYIYp!tW4AHnqZ1ZLi| zSO#Cj)O`~({tl+k4=~SX3ud3MF`t`1F#GSs%*+2%(43>VmeR6XUMphiSHsk+X}&h5 z|Gjk|JdpTg4O{1{B#>&#zod;@0wM9lNQU1wnK z=>eUOxu1pl1g4*-upB;*x#yLbeO|$gzpiiU8eNOo_kH~s)9)vae`dT1Q*X2J7X3oM z)UWhw%=~YRw_*DJ0n^XVn0c3jNb75U+-3_z80;WFyBMbl4t!91?t!2KB zaXqb%S=Z3Gu{Oo@*Fq05-%49+TWzn$>Is;-9gREd$=XeO=;_)Uv#t;3-p?{V+qfU* zyyxmb9i$iQWtciw7+OeNESyn7a32>fUes zfbne1{CWDY`A0D89>tvV3G+{yf6Dwb#!GZ5<~?75+3!Wn=j3(sYcTcJ>U#Y^KhjTi zlWx(k^c&3g!!MZrcbMO)f0-|GQsErMF#QzA^j8+sS0(e6wF>6k)wG7z)LOci*3r7U zFJ_%gsC$DQ+KlYshIV5nxBq2?`+KPr%#*z zpDxwsbp_@;FB`vx+3#)Rb&kJpyaBV{NBXhjpEmh#_Y2frcNEL>v(SIoTb#yzwr=J(d~unu02P4H32AH(eb ztnpG^rq5yeTyFe=uE77EyYVZSd9NA2uB*(yX}ntB(lz?FzJsZ=4)Yv7G`~SVa{LqB zi0NZ9=KNn`?(Hkgxqimf`Q7ndj{k|d@8TyH_A80G*K(NmzZ#})P2CGqcW=!5SKqh+ zrr$=G`3IP9YTUx{mYDroWBO^YCt&J!z|=X>xRZ9)lN>)8v%Uvbz;iI`&(#5#&+XN? zJ6@0FaSCSLotXY-V)~h@3mspCxyQwr`&f$k{$7dM=Vg5bbKX_@7G~W$#_KWbH<hFs=M-#^n#;kAc_)(bp?J@H@ zn(u)X0c-^0}Z2($0!n0~&-)c@A_XUx6)f;rcA^SdzXigqp3 zDTV2;GUhzB%&(BWA7c9cNI${!@i}JQR?K;SF#gT)U6}X3M7P5CcQs602Xme#nDqx?>K}~h_b@#| zkJO{|7|ebhjXPt`cM7IXH_UzX#_TiD_%h6UFdVb*Sp4sP9iOJN9Dm683Cw=aVETI& zv)}W^D|Ds4ih2Ln7_Y_j^{&2$xxbGvbvGG*iRt?X<6klR?ZDhyky8unN@_XG`bwDd z?17nIOZV2gx}P@0>~o-TOU(KsFz0HExwjKBeRnp03a0NKn0q`MQ|AKA`pb-m8IQ)? z!%dibo@zW3)Awx5`!)yD_dH$T_~XWlbg?ecWx5>G&nis4H!$Z|gX#BO%sJlE4>0|1 z#Ps)-@%NZIe_+mEqI=ARzz zsGYPkrtZnw4RgMpn0|U2_jSC#4$$-ULcIjj?`6h=^(su=YmBee(U|#TjmPOtnE8`* ziuv31PMxmz=zaPCrtTc$dAdLs>f@Mwo-%$0vu=qlHUGS>(3SeCuF}=|wyx9n^h3<^ z*nrvRWAhvJbNxcU)@}MdX8jMCzJI|=Sgc2(UI{IQd9G!(yjIjIT3u^uZLNcO{`(m> z)W(>;55VkypdPHPF#ERFw%XqD<1p`MXH1t#AvuhL;ULPzOX9f#@jM&k*Xd%4By^ zF4iTwOqc76`m(-;sk<8UeBLqtuJH%P9~p1d&6s=Kg6a25{o4Fi<87F_KVa_pXUBhW ze7o+@KOEm_{HOk{|7y{mg?)=_NlZVbv@~Yl-7x!BFkewCnXiiJzq;<>cun0C^Yd;$ zOr3`28)4Qp)&sPekPd|XJXdhkE#2B`PrC#A2ohVAIHplQlG;79DWW{=LLNU z^PatC{08Q8z1DcWexM&=`urHPZWCtzZ!z_^JN_GHpFc45{>9v9>C+1Na+tUZ=056R z?tNd!8({WnXxtdHUvu*ZY75LcTk0Wt7-rwL#z$f5AB(AbocR+leV%B(lXiBz3+8;i zF#Yz!^l=`h&OpriLBeexjQk{{}Pv zN6bDy>#vUgW&97OPO;Mq^Z4H!{x2@0<;_>nN|@(S8FNq7%-6ttPt?^W=9^;rJrwgi zTVvjrqs@21tm}d4x3}Z{G4H`3$A{=hOuZX1`%loxIt6o{JB;tryD|ID!raGf%)SdT z`#g;~*J6DJv(F2dd8>@qVdj5?srR{V)gN^SroWxW`7d*)PC3jzyJ7m+-ME5Q#PnYk zb02$ReqU*fm9aHueH%=F$6@yAfSKRL@sk}t9kXwLOurXk=3R<8$JNHyV!j{7V-=i% zsXqs^?qTDnF#W8=^!b{;iRojF@j87U^V~niocB}AyiJ&Me6E`v|HAl7%)G6}-#GrQ z`5%mb!t_(*j6(flm~)lG>|4=%Wvz<&o~eU5R|CvBn`7#{|-6ZyC({QUO!9y7@gY{ngUFwXW`m*=K*ud0JrlIY?V#>K%dE|2X5$ znEkq8)}3K|ww{Nnd!b&2>0>aa-z$xW>Tn&YWAu8={u42MP14Dj{cp$YGY#_`XBj_; z*>Aq_qnP*67N*`@<9Rw?A9nmPU4%K;Q~I>|CC1NU_F0DMW4XSlFFXFKzK(fc-`4jr>o({o z`k8LV+~3#6+w^<=Nq^NHnD_WE%sGpkRj6MaQ>P3jU*3F0O#hX&D(1Y^jB8-#*TVF< zxA}dvp6;g&w2?N}1GE{YesfISmU@`^R+xT{FmA1FFz?&3#>ZjiouD1Hlb(dxr;G6^ z+Rgl_nEg+~Jdd+5-{JD=J664Dpzecae-17wEJ230+)M@4)FrI_i?;%WI^L2qf ztdC&&S!DbartV_Qe#li%r7-i#V&+vcUj2h6xxv!P_ zD&{_4)7LRSzu(20_$}sMf5z1R4Ksg-@h;;(^)LM!)5pKYMb0k7#W43?+PEy{_p9od zed}WOYlxY50OmbtY1~SW#PrkN@eY{Zi+W<7=h>KZo`ab;(0Gtute5Fv%(;eO`o2ns z>NSoJ$MiE6v(F?9?|0)#{k%R?m1p zZGhRo3Fe*-!t8&j9)THeXM7B%?=F}=x?=V_)wrkj(lfO$rp~#T`R8HkT#niAN=*K0 z%z3ZHJeQHi*JI}0gsC$b)9)QR19QJ~F!%6?K82aL6jT2>%=3K})Bh@6jaj$e_yf%R z4f?Tuis@@3rjIR{`r9z)`3=*@KbZ02{R{h)!i-nOoNo{FwJ^`6A!fh*%^#r6^&mY& zTVd{_4Q5?iJxY(pqU4V;K2A@-tm|ZalAesYk8Y0l#PoTl<7YYE&+!4~2Vzm?oo_ry zFVai&GAzox%Z&$P?t3`qof2MX{1r#$v=(wYvElx`+8aF@5c0To1EP18t0{ z-_*E;@xjKej9Y74ZLi1b30RCe9gREd$=XeO=;_*9&%*S1F6Q}Ng1PT2G3UMti{VgA zzr%H;j?wEe=ex;xqTZ~x>K%F)X5X2Zb+dG?;}7Y>`l#biV)|Qx#c-)Uhw1luOuZNN z70l;UQ$Mky^7RP?(&(Q%oP%qF6^H9WJ zo!j*e$ERU&@-r~=X6k)93$yM4<2m}E`FWVW9>#p0p2pn6QuE98B~1O7^;Lac-_X^V z{oXQu8}oDSBTW4-jDK|eXZ;n6Grq(4592?L|Hjn)NB_nATrD%8&{sLk_-~{-VEO>g~d;`wR0uUgo?)y~>z>&QK4t zei(tgZEEEJ^+ZOy4JB>UP#H=DTWlJx$NhKA7{IhgpBV4#MW348&w?j?OiUw3>pmSlV_=6zg;S-;-+JENvegC+f|ZbyM^#_wY4zONhf6a7p#W1i!WnErmk z)c?(R2d2(W%zN{<7CpZ(uM{R<&bT6$Ca!@wPd)Pu%{S9SFm+pD_C4IVjkeRH^*HUI zoiOiBcg*@8=1({7g}MLU+6VLfb0Ow@mtkqV+IWPH(HnFk<~iJMJPp(L482!p=^UM> z3v?l--^G}IpTYFE1oLzEB}`wh>1xcqzJsOl1Kp@!V*2{tc)R|Isrxsk&mtETEUu-r ztd_^@TN$&iDyF|`=J&+>Jl!AD|3O#^TRDCtW}l-l&%2Xx7spT4(=qkWaJ-M6t>@@@ zn0_wA(s+gWD|M(2*O59#uh$!Of=<>cm_BYZo~qMyhTf~QbdJu`1-eil*G0Nmm*_HG zt}kNxSZVyKuF}=|wyx9nFwf_G;|=JR#}ZpZYq!+59urT=2~Ei$Mu zub7s=GNj8JSHR4xi23UDa(j?)|T zMoj(j#uId+`N^1lrkKA~Z`0fL4xOrZ>Rmcbr|aE1L+{aX+}enEhYWm-RJ$L*K&eyB@Rdee)YI=lC4+bLl5c zAHQMx_|v$^MTLAx%yX(>ToqHVI;M}BnCH5e`8rzH@%@Y&Xe0AYjGN+atZ#+cr#+_c z4tg@CuO7x{>Nz?HcVqlY%(Y{mSg&O6?en6n0wxYnZFHF|3}Qc-!c9Cqa`mcg=F!$9A(^qpn5VO7|W?m~y{dUI38h0{21$Se-x1NWodl8n$p_sm|!PLE0 zN9%QZgO11SdoyO;6wLFUj_Kom$LE@V6mvg|%`e5wd(r$V^J~n%hpGDk=6QdN>1(5Y zZvIQ-t(f!uin*ul`Wt5bPE5T&jsL}*zvLx_@v@kHDq;4iYJLx`t@~i=)We*=q4ECO z1hZdrOdkgtAB@@W2t5jOA03RlVCtTt-LyNVP7lm}XBhX^Gco=4)&4p_&({m}61`l9 z=+$}+rjHTEqcG>W&iDo$uaoo^y-la;G@YUMV$O4)-jCVu0pr;^2Xn4@xk?h2%k@RfJ}Zr1)m6G$-_~{do_?qw>qh-tztFFBn|`l9>94v2)6XBqf9gM4^wPrl zOK52=r@LzdW0USN8x|(v2iEuqFuGSo~CDL zA3a;o(ep6x-5}$O^)el-SLrYvp`$SG*=XbIjITGo5p(YG<|mk+tW(V2YJ7+BRJ~L0 z(rG#!b04#eAHclFbM+zf^D*aJi1}PU>G;!_zMe6DR-ePnUtzpbUp4=R@mrX4ufcqu zy=VNsexM)f2K`7s)=%_P-Kd}GCjDGD>lXb&ztpevYu$=D=QjOLe{lRq{mJ|xGzg7i0Fh67$@KVfq<`>E{N_zPDkX|6S(q)w!6Tr;j?m2vhfIOh5nArTV{|S9cpTVqKrYkW0 zyojm05>xLr$5)$Qqwko157Xx-nEp2FR!p63nEk)kpY&JVfqA|~t|;_V64OU1Ep5I$ zW}m8<`>1WcF6O=(n?DFM?{MSxnD_rAOn;|h`s#t{>vZj{XK6n@R|jJHIv=xskok)- z_jm=SkKx9n9ls9K??m%cFn!#K>2s#e!PI>a)7N}`L?6REk42byPh<9d*8KCBdM}$_ zh3RLV`3>eb8h?rD<6GljFm<ED|FQM8N~*HV~!DUI2`f>y`$SIfAb?vLr~ zAlx0>8F#?UKM7O+6g^dYYA-!g`)Ys8`hoc0b25LSUZR&{?(s_Fp~fSON9kA{r#E5l zXM*u$ouaqvojP6b!R&Xx@oari=j$W-m_Dgb>;EuymSOsM-uwz(sjuoPU9E5HI(<(+ z)Q@$eey(5W*Sbx=$Mo@|@h|$D{-J;BKU#E1VO?>|b1tQ2wY*l;Dq3A@YHh8f^)UVH zhq3&tz-MSV$E>dTmVuNuFmuj?v(L*LZZ`j)Q2?E9|qdVNpd*AFoJ zZNSXmh?VdM<6kl7+OEH0=KpT|hwju}j{jx+xADJP^vc4$mcZ04iK$oGxQv#?+<$q@ z{Z}%ssx`18`39KvjWG50*T&k!@utSjurl-7Vd@`^IrjQEi7BXx{kkLh=u-k>*P`k90|_Y}{_B-_W=89eo$G|A(0VHkkheQ};_uKi^^I{cL_0=I4E}s|uFG%&Uy~bHHB4 z`(gTNfazy{JwTi5L3#*gpCd5q+Fg5wi0>n0oD?D*}N{qMnik3E3tW4`fYj{nd6a?I~#ZXpHK8N z-K<~gR{a)p55Hpi`VA{!@v95_m&4q9b**c@5vJc3nDZTK+|KdiF@1Ez)a_*4MZ0Qu z%=>w|ac@k$voZJC53~Lp9pLyNy%e+06`1o6)sdKU-GHe#QKw+eGXpb!7N-7eOq~aH zzCNOl>67|2roYAd4CZ+~kJ;}f%>BG+ex3ObFnxVy{DtG+V)p;R{IAA4bSLJX{x&W$ zv@pN8mcr~;5z|*Ct&G`kPfTBRF#FWQ^t-?D0mdyc^I93VGd>nm|0K+Pos6l|O?&9+ z+8cAf{V@BSk6Aa!_;SauHXezof1^&p)W03m&ooS(`;6yc>My|5eFQWAG0Z(JGG44p zbQz}3OPG6FY5rARrK|OAU8nEqhnW308h@@|=-0YUzt^AiSKXmI^)JkM{xL2(tZ=Rp zT3XBL?pjH!Y7N~}_rly`J>&Y?NSk2pt-0|*dI+YU!;Fv6BlRdfMvvEynEO3ZJDKmI zUA4QOre|m$JzLMw^Yj8tUl$r*qL=Fsy;`r)Yjw0Crp3!BxLSNB0^li+0zRvgq{RGp;M&m7*=lL~e{xG)$e|+Sh!49e~+?pz$ERSTEDTdX)~-5jsl8V)nbi zcs!=>2|7_H>153Qw-`^+TlF@*9W!sL-lfxZ24 zj}`j5`L}c(rp^Y;z8_=OZ`9BA3;kNRVfOnGv+ie1U%%+Dj{kvqPyfO6QEGT0E|2NE zI_4ht#MG;!`(gTMsEsl8n;19K7J9HArbp&cjUJu&M}$L!O`{JEIA12OkRw=Q&Itt1$Px&hbw%bvK*;*7zsK z|HPd0A1!)qAuge%wVdv*m9#2m|LT~1>tOn8;Q0QS&uw$_hhq9}kGa>5nEg9r`s|8X ze>$e_8IJeSvoY`WxtMzzfLS*Pv+ivjK9U4=Lh{6GygZ^KlD%i$MIq#3-ya*?y01f*0PvCk5Ty;_IrFug{H>j=G8N9rgYtz&eoUZ>aVIK4q{)SGm?PSA-u zNhj;gdW%lMJg2F~cj{f3dzfK-59U3(&-i}F=NQk$Jg0e>c?--xjH&;)<4g?SGDVD6{H z=)yTmV(z=NaT(0MyBk-)+;c7C+L-!HG3%OZ3vG${`{1LEkHysMh)3c$^EYDpn2fpa zoAnkau^K*!S+@u??`h0F&zfI~sk7YtN^DPDd`w|p8O-{!n7S2> zD`6Aj)|k3SV&=8Q)H@oR;iZ^+ABq_thS`54Ho)0<9+n^+iuicUx|6Xeo`N~w zsm9$gb$Vg;?~PUQ63ox5tFS0ujp=7NrvEXRbvIy9yisq$%$sC98MEIMy57qB*dgn6Gn$C|hkt7C=h_-EkQ3e(4tSOFFX8vhd411YB1B(;)(X-9>!^}HJ2be$4_3A$oeiG*S-e>#(=6tht4rcv>n0^+R zf7tv&<45%|^H1m^%(`bB|DP_=XLYGA)8{bzF2{rMXX9Tn&-V}gTZ@e=WVGjEKJ)$8??vO6u>|q!n0tQtyJF69s`>8PLwjP@_cA_1 zdz(MYxUZgV{v6|Tb%36S`8-`@e6e1F>Eklv%Q5|rz?^Ti`7v0M_y+S6%um!wI$3Yl zTXYKMJhvO)p;Prvy-TO*biG?=VEUbDe6QZ8_vkGQV@t5>v%>BP^{064Zo5pYH+veZVwYpB<)%BR~ zyN#IV@HysuTQK{4jj6v?ztL^_t$v63p4pCBzeE4fU6?w5V)iR}V_{xtEsGg1hZ(PC zTwQBm>ee*gQ)_8$%`chhn}Tjy66?zL-cTLk z_$VE#;~XE4rI|m){Oy>&?!estOnngZIe8TG+!tZ`SgcEQnJ(8C^<_+duNtq?)%v!s z!}R~Y@do`wKhw?nrEb-4^#}b~w`2C-VZ0M_&RxcTYmxDVd{ImvCABPO{cetzH?Ck@ zQ7dU>t%6xs&A7Vp9+>;9rF&~#$M?nbx1ZL>^s~R?O)$^lK*w9?L5?4+hnhc3TVd86 zY1~%ZVft*Z$LMi-0;Zo1#wQwg($1Lov=^4fv#~l0uAES$NL`#du@Enq#NVkg{u$={ zn=y5_=ok8>ex+Yy`uhg+=bvJe`F99dc=FBsT^R8k%h@FVZ06IeLoH}emthXj#vh}n(wBkV)h$=`S;VV#5|v2nEi%h{(OE5rrs3u zw_)l|HNFe8Ziewp%=~-xKD}RO=>wSkpThjyc^*@Dh52=uy6)pmPG50wa zb5HXyf9`wMcp2vW&*}5J-0>CqlD>=&G5@053-8@v%)VD)>Rhcu%@4=Qe^d9r~8Q+ho^8n_)A2fbQ7npw(8?nLqI|}pP$KK3uF}2WlE6n}% zz}(0An0gms>R+OlVSb*E!1Q~qj>J5l@tD3R;eY3I{1)R|9lrzf{HNpoxB_cX@clda zdmSu3t#D7(Fn!d-#&|Sl-(&Px%+JeSn4h1QWA-0{HE@FQWX!soG2ahUG4-Cu{C&!Y zj&H!6;|t?2u|9Fx>4o#`rn_S$@_S?YtEUYx`!vM7zlUJn-*%Wf=V1CBiWlH#nEU<( z)Aw(900rvKDBMGrdkXctVeacR%=(M4A`ZuaxCt9!>6yF(xDa#Br*L0<5A!@ezX>uxf%*LJ zkEwfr`DU2=I@J8(nCEmf7R6&Q>yN|q-$}cgKNYKxA7DHX+Y`^j1B>$fXBU1RZN}{T zC7zAP%_-!&VKL(Fn0`;k+;3m={V?}A+VSf#``u}LH=acNCGN?7|I96%rxY(^-j~W) zi~Ire3gy9%%-nav%@6MPyCmWxtr)h7@`aW0+ z&%xaDMOY0-W7c1Xc|Yzno{s!0i$y9tRQSF+3^VTtO#kgLbvoeQH~_QHK+O9&SVx&3 zqt{{H%iFLtPB%XTa}W1m#vjJg_$1~&pTko4lKEBo4qiq6`1ytR>@>`Cy9yiQeYiJ; zmn|st`!XI%yz}A0e!DQwuj<0WeKf-C(+u<8w!@t7OiX`$usi?Z@ka}FS3g$xd-F~5KqPY{`n}@!q*&s z6SMDn%)Nbt&9L<1LSJPt`|g2*a15rO>#zwf#Pt6t9>#yz@=W3V-+}LwU;RJ+I|1aY zJX=^-4f~QGjAd{*w!jWK;5hL{j`sN#8RpP@j`y7c`*G}7GdE%2WeV>9kZ&$}p#oR|P%=$j&`(p0r0!&|* zn7>S~aD0UENX+`NnCCLV{3Oiz?lPW^nK#q;KI7TOb9El(yo)h?FEPJVpVQ@-^SpqW z_mc5SeHpX=+s5x0e{B4Teu~-eJKPgXK3}-U(pnZ%zdV-4s#**4JepwoI6#|fGt7I? z8uK|h7HeZ)%=>mRX5A%N1xI7%PsZ#w1#|yXG50zXbAPjRuFltm`h-5MOYpz<5wqW` zn7VIbp8s0o_c8C!hnU~Lelq?Av+oYfeHL9_I8QlDUsW*UH8AUI;tAN-xSyVbIp>v_ z`NQ;D9fP^gTQPm!rnl=InEH1b-=))ZI_5n0Vdl*;|A5ZcIXV|}&kq^TH+}?jKTlxl zJ!8BK)AtLy67yVF8^5FLG3z&A)_;b%r>`CV7IVJu%x}lk`P;bU3x&7>X1^+!`BgFX z_B5_#T-UfBW}n8!P4ob5s?D^y9*DWGgN$41!I=9wOpn0SKictQ^jJL(Q|AQZ4%$&q z)K1!2Pr`iPoMwEw_R=#jbU@bg*EanT^F6x*v+fT}y}z``ibB2^CSM9uudJ5WidsdhYfY`KbujzX#nh{h`J6Q| zZf<-CW}jBZZ87VP!mK-1J7{M;1+(r{?Ww)=Ozo@vb%36)7wRQ?IcERC##iYu9igLi ztd7&0F!w*+c#__tx9L=!rZeRJ=iPc7rUwJsJVU(dL{aRY6rjdXu)tWER)ZHn2axwbHW5ayl_(N@}8+iH6~R!_iu zUQWW)JsBI~mBv?NQR1PvKi+Tt0nE?)C$Sy=h}r)aEQ-Gx@4!6YUFQEZ|Bn`ZsjzQx z%=%JVR?BNe%=b(+EQ-~&hVG#?bx%yay)gUN)%xZeX%lUxEwC8#TVfe(t;b;YJr+~< z1T2OfG2eHmm_OC{49xuAnEm@2pRN70Kc?OQJzp<${31;K!Nx-{^@d`e+epm%F_?bG zV}8%O0~_OWm_J9nj+yr+R>RLQ_xT0p=hOF&|Ah63E3Yi%Yhl(m#H??O#qa=ahB;?* zJrL7JD=dz!wJm1dQJDGdjgP^c=LGG9>FX5Cysnu3&T#xJ?XTzQAk4Y1G#-YPTW}9Hdhq2!9}Dns#y`i*+hYD}Jd}8^R|@m$V)|@=>9Zjg$HtgHAG9)m zIHpc(<2G221$|yE%s(5mz8_}ZIamS*>VU!j z{m;XkV~}2=SLjukzJ}^G=0{@s8-=BCoZ~m@c*iGTz7Ovc45~4W&Ag0ev#FMd@;>U%`CuY{2xn8F$0) zG4+4ItozygUs#8MTJIF<@1=Dxee7#oUmNQFn0k$k4=`@3&9u25s4es$ZHd|EFwFT5 z$Mo06xUC+AnRhH6h1Z!Mhnas9rl0XTK_}`YO#PcN@540XyD^`iS(xYfAm-j4)Bj<4 z;+4j$^*#LWeZs8UjH&YtX8v!Oes*Bq=f5!fmReg_S3zrF_S*+jr@nDBtVG<__yo*; zC+lgL{m#Pd(^t>N+|#+n1N1x{h`EOgj0YKCWPGt+qL*U&8iJ`i6tn&s$A{|($46tH z$92XxV$MI={1nXlI0Mu7JvvkG)%!4Y9?-ewAH?kcknwz7VEz%zeotcVX9=e7=P>&{ zk9j_;jNi~Vb+x{wYcTu0W4u<^>ASifv){+YpXjH$5mRTA@#n@{^h^EP@vWHie{1}m z@sF7E{Hnh@{s-ngD!Q()t_0@1CAAc0T{*3Qsb3j)$2yq)>SFG%A!dFP^G&rmrtX25 z^(~DL);G5ubG>0^lFSL-!;t&YZg zekK{;qPOW(JdyEFjW_8Q{Yt;V-1qm!Kk2W!LwD+5`mYvSU%0Q5T1I!noTohIJXOqB z*P2=z8#8{KaR=?BU9>Cao=!FHsl71$_i?hyV z4(9uDKIVJ;Nyisq>MS*0rq5yOzF@op^F98S@fv+w-_fy~8p0bfo#C^cX!J z_h7t_@!6RB?Wg_C55UwLhC_{NAXDf2DAV7m_Nss*iaZRt>tug zt)x}8hVH3*={~wIrmy6zMB`|AKbUoX^4^l}}7se6_2Fw8w&Ydl)7(;IX=X5B>0c_!&( zy&2Qzt(bYY>r~9o@%tU0jk)*vnEQMbQ|~c-9P@d322*DVrtUJ#y}$QqA^!np{U@05 z&oDp7ciUJvPen|f8kqWfV4iCu%yVslS$`;I-jSH^kK-`!%gLDiyJFUN(^DPq<9J`~ zhk4(JepZ-23{!VBroZbj`%c2_dn@L>x({<7b1{GJeF`)G8GRPh*Nd3%&$qBA?z^dQ z&W4!&8ez`Y3KJiW`P`m}&G2f>d4}PCeHo9%^mC(5(p&XTOx*`D@5us8pGz>$b*1q- z%=r75-$#GKtSj<)q3`mTb+s{lHN~9k5G;y^V$OXy=3Y*~^xF|LuPYYCZdeZoWBMM7 z86Ryt4zun?<4Kshw_s76g6ZQv5Hd{MaXTXh;{-gLcNXJ85P_hHU65A(biVR2lHIqy<^L0`ty zd&T$-EJ3^mJ7SG53vn$>oxL&7zdq)k8sd*w{VSd^F2%MK{QYY_3&d@<7XH1cUf&eX zc@5_I-ht=h4$ON{bX%d1Vp?2FVD{S$v)}HR{wiyA%z5|5oTHBUeU10i`r1GnV(K)( zoU0j@#FkhV+hAY38&h`%*1#t)pNCH|>pypVGp5gPjJIL>`UNXdpxAeXI>ogF=I2js z%)WKC0S+aeiP`sF^RtcTVD8~T<9WvO^CJ$?tv z<0qKEH{1SwVZR-id-)f0&Qd=V>Xy~=n7>D>%gd1QMws`w8J5FVSQk&n)IS%q@A;TM zFUF(sQB1#2IQ}%|-#`2Jry@n#lRxU`Lfzvr^E%=nd=gV{G3I?*f%$p;F0#DHdaQ_B zF#B!A%>Pb*!t}WdGyhNhOaIn?^k2+5cKd~Qp9OV)<##eXVte7=znX#hJ>hZ8yk(fW z&tdw00dqgEn15AY)7LTc-o!lbxAbjYtM6j!uE*5-2=iPwW7dD^_*aE9_fLi)#rjsim~EmeI0WPIuGty1Q1;idso4YZa}E z>92%qFZ>_8QVcwJG#s?W6iFsZfG4Fdf3ap{`MqkqN>`g-hj|X`F?ByS{uEPpGp62GnD^mp-KyW{ zHvLw=!>s!WQ}=hQi+k)S)TxQtw-)BU8esZwZoY-KG~Whu-eWO!J77Ln-Hdx;`a2C9 z;kh@#X=Qx49$~(X@sZkA+v!o5zB^*}?SkpM ztK;2_dl>h`?034Jp=UbYN6#{Uw)V%=9bi0AFTk8*kX~s1V&h9N{atN56myTGG52^Q z=KJ+-%st(UhvGU+-FMA@VEiHGJ=ko#MZdtxyB2py$kb)4R$ z6ZK}jRqxQdF#S*08JN%0EKHvdn4hB$>O+`59yVTR{5WRa6Z$0PT#FrFqRVu-zNjzj zYnZ-P8Lu{8gL%*1GyXs~=*O78HX3g--h%1t3rs&-9pC2o_xh9mirHtE@!wixSD}7! zErqF94%2UWt)P{(idNGam_GM3u5DaL>uG&$q)oJ$w$Ow1FianZ8@JJRm_Cm&J{~i# zgK;PAqFpif)y=qvp02(1EbWK+9yrhV0=-Bt)hjUj4l%x3uhDCDv|gt-=y*(D6O1S8 z6un*V)aiPU-lq@fTzv@B*8<~(`nWFA#kxe7>2ge8FBre1ujuRgrmoSox?VrfkMvVa zU!P%~-xl*<={NeF{;0p`Z3(u`AW?nhtikSDmhH-7o?_G^B z>kq)JKiIexX8qxMgto@K=WVsU9;+wliFy*Iepln}dYYbrImelLmic~|pNE5tFUHil z+;|A4-w~Max3QSN&zb&LVcty4_*~ormtp3;h~x3ZzYFuaV9t56o`N~wsm9$g{q@A$ zSAWL`==pjfrvBx|LooA4W7dx~KTdBlKf!o1=6tv6RP)nxhTf~QbdJu`1-cOP``A+B z=XHgy#O(K)@f(vA&w3Bwxu9&*rFz4)v|2;pofD4uqko* ze+z$q(+u-DI1IC2E6jdfF@1N({2n+SQ*R=s-&^%A%)GlX{oHFjOXui3U7!o~aZJ6% zSPfTU?qQAj^_chIGt8gMx6@@q;#x(E7C8h@#{50-1;vW~_j$Y=N0I*lb6>w%zdua_4FtE&gPi+xgF-ucby&YqNiZicQ@{- zr|TJ*I=zkiXkYDzxtDV>e@?j?JK*z}{#Rn^zlOCbw7GO4{t8p~Ys_>10SDpfWr`L# zo`IQV3+rcN=FP#p2P?2HiB08-7TE{?-L2?gE{}AT;@JVchA7bWxf!Y5XY=TuQ7X9z<(+|Ps#OGl89f0ZQJj^{_YJ8bqj+r;u zcnGHMFwFgpF+UcwexmUtos7AUTXibtoYQoM-m9}P{XC$vG3)1H&i5AP`>H5^d7SsK z45q(wnCDT;crQ$!^)U7J)%_fAVBAm}Veai<%(}xd&!HV=|6?%wov2;S_rQEk`(w_3 zA*P>;G4+OF){Vy0x!&;`j3?;LdK>0@c0T60F2eNx6sGQC<7XUSVf>=Lgt^~Wj9NP0Tmb7MSp;C4Q+K%I*Xk%8gV}E^rv5m+$^3ZCJ`;5^=6p*ID|2&el0P7t_Z>#`AT7K8&fq(D+fz{Vp?p4s)+BW9qzS{&nLw zb&dJA^&MU7_sHKte&_i2`h)(6+4mRByd9Y5_m^>zDuw4-67xBzg88}9 z0CTSgVZL{dH13G`o;@A&e)q?`7XvZthhU!Hm6-Q!Bxe3(%>27_7H0mVnDvV=`#g`? z{~gTyk1(IV&mI2`bB>=d`}~YK-*(J%*kS&6{X=&;{-^$}|6+C4RjXRquMVc)W|;cT z^+3$;N&jc*z5{(M`#6rDbCA9FKK5QEd(Z4Gdy~@3rpx{@uUdsh*mS->|h%ns$F{2K4wA9CmJ>XY>sm{&gnQeYJZEOK4)v8 z=FuEu?pIX*w@~vO;_?Zo^O%g~@Br#O{y@#|sO!(5_Uk@so-a}P6Y=t@>na`UbNzM9 zi7io|3lmZMKO2kUZ>YQn?H{Ol9Y)RL6zcxEggVDZsP#W_c_jZa0L8IT>rL!9sZEZ3 zDIbN(`;p7XI3A0-pT9))pM%=}MW}VHK<)b)RR6Uu|JmicT)rDMk6#_{wfkJY-|+!^ z(Ee@@q4xQx<723NCs5;`b@@4$UvPX8)$gjyuiHOeejBx(d-jRzpP}~sKh(NjT7CJ~ zxKXJ3IF93@+Qmc7C$Yib3lUaoXq zWn2&3^XY9Ah;uJCWIF{l?^&pE=A-7Z$bMtLwcp#7cC}q+H=^#>UmWkT`%u@_QO76j zY1H_aG3H!R=k=%S|3b~{o_%T~`O>BKacq24p5&-;GNSTiMy)5>ady;xV2hx} zDPhaoYPODTjLO%{wy>>H`Pw_~WV_n#sQJC?xSxF=HQx^$k3!`c>v+7K=<-R9zp&Hn zO#79cYZutXsQviH@wfJSyV9<<>+D9m1vRgq9q+We?Owaz{%#N3WA>yyW6z`Jbcy)v)F7lr_E#Y+d`=O ztT1ZdUUm8Fwv;VvE7;1mnyqPT+j_PkYJQC!H?u8lYunCtv|a35wkK+S@1XL%>+*gs zAK>yqsPznXJQQ^wjBxn}F8|Q+DEkqr-B`!tQ13m{QRB`=-H-DeFGAgi-=W4^jxq1~ zsQGQdnClSrxpdU=N!Oo79_KMSGeQN;B{9lz@MHCx=ijvB9wbAmx5;j{TTuOfLhZ*dj(59$4{E=Uq4Hcr z&G#mj$2{424yYwn^I#=;?k)1uIi|9YT0_I`8Rjm3YE7LY8~&R z?x$g>{vV^xcN%J*(^2DpjmkS8wcdrO_xug0b{k#38TH<_AGNMOTz}a0N9}P`zSF4u z7hQhYUd1ew$0`uUi-XFS0M#!EYMz-;^Us0Vuo`N9HBjqm?6|3Ij+*bASOmwod>ktO zM8}_@#+ia@|Aot^+UcnFUts~w*o3hKIE;qo6* z_s4IjardL{_ZzOiiMmg66bk!X95v5UsPW36?uYWI{uOLRTgg_oRcuw%KGsJ4E;<5r zKYi)?saS{jBI>^T8+Dz&K=q4VIE)tuRi6SipH!&x&EPl_YQE8^{mX^9ur_MGbzI)i zaU)coCXSohW-fozwnXi3N5`E}=klrJ&r$g&q3)mAsPFUXiiG)OLe*zR<;mspe6|p3 z9j`eqiJDhw)P9#k^)K)8im3bU4ac=@T~xbzsD2Gmd7GoI*G{hQ?6|k%cTw{i=y(un z{2`8qqOOx^j;GrhsOxDJs{Ig*wl6sP%M2weRfmw;cCCt-B{`|KD@@0GAK6gHYGSaK|H%pU5IUe=YQ%gxc4c zb^&U--M&`L-6dKO0f|v&HpWQT?{Ley7WSL5*|3^}pLc>=DzIscKLxe#vr&2GpvGN*x{g+( z?!V2byjxNIescV?#BwKsolswVi565^^k8j>N$A{)6wo} zjmU^|#3yP-M$E!~Z$!rYd!OH9KjLh)h-ufRc4W-IH*pyCx%ek)+!S@gc)9C^{CQFP zUKX|f%BcOUj#_VR)b-RF=^oJrwa#|718N_;V@aHYx^C8?+OJ35U%#RD^&o1zOOCIi z+Fe7P%Wc#=?xDtijQT#YtiI0`b&i`+@9C#86A2zQ2=jVkpJ8_DGdB$HWo1$0S3sRt zE!z|`5x5tU)LJbA7eKS?`yeGdGgu58uA_EX06#{p>r;FipJFjA(9)lKc!{`NtMEOg zC+b|sp!!X4yacu0rKoi+N8P8pQ2Vmm^}nLt*N?mW1S-#2m)}D5{|A-tE^1wmQF)%A z_U}3B{)pW=l*d7}kBjP`5Ov+8M!u3plxP#~_eQ8ZjcpTDzUHX@El~GKJC}E~T~PhH zI__?Jq2|}u@q2cl9b$*uk@h1y7B$}qsPQM-&rsuij>=hLWtxQgokCu)8FxcmvKUEH?bH!Mh85;aa4%#LkP-%H;{<$E7>9garzpW^bb zQ0KA;wVoxYJj+n?{1!F8&33;%hZ898(Jr*>iMk&?M&+4+n)f7B{u!wEoyDl@`Uli} zwxZf^L+#sc%)r1G+lTVYsOQw*cmj8I2<3b1Ui%wr-Ul%!-b1bX1?qZ@>KOXPM%`x_ zQ2(4kF~>DsUkf$Q=BV|*Xv)zKq_mksosQumJ_*c6ZweEwcagU+qeG=9GG-`flQ0uycYJc73 zH&E?vI=*H9a{1q=e0NdrL9cWQ`QqAmsQQGC6FE+b%A4HfDNxV(nvUN<^{eB!uHy!% zbu@SRo3;h&`s{(at_Ps@V+5-G7*xKGQTsX>b=}RgD^UHmqRw+4>Ku=wuAhsJZ=>2h zL+#sh)V@V^4(*em=8+Y3-xWdSD~BntK59PAQ29He+V@4xXC&%6|HMv1jkgHZ?>p4| z*Pza6BWnC@sQLViTIWvG{_e7SQ2h>}o+n39{Z6CuTtMyD4OE^#?M+m^+o*j1xcrXe ze;wbm_w57w&_1${?GyVHmG?R7en{0N>{D*kJn~>Jtc#jQ1Jr)DaeZ4<|MsYLbw;hD z7ixWdP}k)c)c#FG-S-Pn`4`$ncClT8I`@^RaaW_xXNT)|+F$H0)I9b${?+b9_22LK z0IJ>Zjt`;cc^tK_E2wqcK()Jxx*i_5{0VB_Pf>YaIQ|cHj76)HoSX z?XsfsM5D&Z?l_0dX>+0Glg}1%d0|wZ*K8?U-d3?SZC%?4m9Lp?Y1^XK)4_JO-E0q3 zzyH}jsPW&oL+l53v>k6hL*<`rzqHfsEYv=H<#?`LU>Dn^_B+&kR@l`pUuQR>=J%81 z?e-VD$L_NS>>+yuHJ@XSPuer~JZk*Qj<4B2QRjNo@ojs@-m?$w6Z_o0v{Bu{e#Jqp zBLQkYiCmu4rm(4PI-AjELG_Ea*-`V$;W(Gg@@tN-+Z*;zRGwS*w#)yv|G50F<9{9Bw-4=O)VR-4^LXj<$nN2}m;_ax z95t^LHYIBP=}^zNEU0$bY)+fU=C_4xQTv)LVN0XdRTlNRQN`9mjne=%-zKR2ZjTzb z6Y9C!3pLNTu?_A)wL5}pcN}B(AJy)Z<1_Z0%g@^j81wmz>VM1rZSUIq_K|&RU)YEq zVcxM(dE(jxHZf|wsjwEdMScEscX@Br`^YfIA7K^ZU8w!oi#m^ksCE60TIV13h&^Uc z*i)!+u3}9r*faDmgj)COn2Ut1dPPQ5CH@MP|7%pgrI?a}&2NYCwxZrA@1fqWV*f8P zA{uj|`sG5c<2782CsCij*Ia)cb&hvX`*aVrzDKTq?E1)eLU|n2I^&}9$8&ii$B9vS zlDRyUO^15V$d2lt6E$ujRGz}FFXgzjErZ(Uim1F*Q1fr#`i3rVg4(~mvxnoJsQ1M|jt8UWF%;Eqgv&obt^XrT zP2w5vhx3|;8fQMLezD^vsB>P8Rq>I_A7d&yBpMjnC$p(gDa*h035Erz<@N~89%g3BwR_M-vner;vDqOSLMQ1Aa^P}kE$)bnx%s{KM# zyXC0${D68t_z5+?ZK!tpQ0kFZtGnEF1c9l{6s-oK0MvdRZ^-UeOb=(eho}Ezbd!Y8K59&PnyM7>Q+~F=CiOM_P z@kIMMD&H5Vc}zv^`z)8warr#dI7?msJu2Ti)Oy#W#^2<4v)zK)pFODg9B}zT`@21a z8vn54Blf60W{;!J^)hPS*Ijn+K5Ng}^RB<> z_>#SBuh^^hn!S$7`={fZsPS*xJ1)O#|3$UG@A!dzXdl_f_6aKAbH^|2e=d(47V2Z8 z^1gyvcU;HuU7yG%wJB_BRQoijbI#~Elg*48KN@v?MeVCDe+_kh z6&zQzl~8|=YJz$`v_a+T;`*-m8u4^g-kEl`>%Ve5$MIa${1&3-yTtWNQF&Lod^PHM zxXJNW`?K9?ccc0pM9uF6Y96QT8G8FN(@n3^h(k$E8qzpK6Tyy{`*uyxy3O4r51z_tEL7_0B;(ua=_nFGsEC z2gj>W_s@3Jcso$-_oL?f2ddvO)br&UX2*CRgn1=F-y5=(;QF7R+Rti^85B7YQ0ZU{hp!rF=}*(W7*iK@`R{ylDj+wW~F1XF=5`Xq4E?* zwJ+=P@-DAnE274&YHOmtUkr8qFw{PbK<(RyE+2(eh=0KXc*phkP~Sfy$Ane}y^P%RS z-}Qx&f0Qet!-U9)-jp9i&HE^3ru^SeLi>BD^*%+_M@$Uo6(99Jkp(rsY^ePzh#IGm zEo_UR=2;AN{uNzb3AK)DuCL+pnl7({O-T6lr=kB`RQrXF7o)~oV!v_ycaE2%=D*tU z8Z1kE2bJf(eTQpPl@WE z9<~1&Q2nyo{HS(CPRfs| z?(6z~sOxXA>xa60nBx(s=i4VPpJ+dI{pYChrl96C&Gpk=KhyCnI~&z*uH$*Ac`b0f z5S4F<<8M&c^*WbtbonM!zb*DBmv6H_+wFD-YTVt9_n^+_04mS#_78i+9ga5wh3ySc8)t@%-^$7dHbRIzvuda zsQYIaYF|gXeiZ6{oPg^0iJgcV?{mkK9Dm{XOH`g2sPElBp#J%#J(!wAXQzgI=db|f z@u!9PBt-3Fa*X*LMD;I%8R=JhdbrM8qJCHV-;B_&H)?+GqUO~PHU0pX4|Mqu$3s!; zAC7u2nB;hh{nAcD<(=+$Ch9(0irU}Ru3zK&b&l8D4KCk=-D#g=X6RQKwZ0OleAQ9U z>o%z0+xnx%eGhdmgE0>U^Jay3F=~CwQ0>08-=Ws^y<2$H*d*Jei_7Q5l7moi!^^cer+Q&hy zCmt$ae4D`aNgXFc^-Ez>q4qJe>$A8#8g;%!TwWAECEn`#Z7%;A2U1>oei*+TYW(uH z0xEw^$8XqLsOz8}YCa8YBiA=}+!WQnEoyxoT;9ocL5-fHXWS`m>Hex~O7t6k4iF~9e?ZiJG_OChea!K3djggJBI^6;ZPat+DQf*MZR|xMj*r^6#5Or< zzG+eO%V0CRJ{#(Jkk91>QS*4saS7K~K#gD9abwpvvn_0E)IPUy+#a>wjxO(HJKHX{ ztL=`ayPx>xZKHkFX!2_VF{+dZ%K{b%pxgy4LYJ zRKJamH`&d0i`|N9_p{^esQK)2yc;#|UmfqY`&_=?@d4C%9YOU!Vb9nLsCizrmt20$ z-n4()f9*s2)c%Lc^U_8v4sj%E+&DJAO>C3f)HXfpI?RH~m(@n2)|(x*FS#7&aeZE! z&*rxUY(Y#z!YWHb-m0kQeq+@8-;i%Y{$Z%UD@;O-^M##;dY_n&X=%S!|fsLp}dHp!#)3JqHJ)_ID_%|0q=d&r$1{iCI|C`ftO!HlW7aipsm+IkIhKXuloR?swGuj-o!#u3|QP<;U>; zpAnTe6YBTflBju>LG4>*)c93xbyWKrsJwMhd0V5}cS4Q(E-FtyRR8x}KNNG5VE(F* zXMtUaI-ixOylYYCxfRua8!G>9)cAW)`}&*94`V*!=cxXXt3$ge8w-^u4ys>#RK8@W z{Z5a{o55y8wabcnKP^e>HCS2?VRLoheaL$zOo`W#q^x{kJCPWoS28|L*V>U}$M zUC0*;HEwLjuQ-nDIKJZqHlfQC+oY)LIlbeIj&q^D$CO2_uNoG{zNq=XhuV(;sC^!R zshP+Z>%%-}pyo9b)o!-quN=>@^ISgPE+&zh|DewM5$f*?MYo6NN+r~I zRZ#a+BaAsG)P3|eYX1MT@7Ug`-(x>TU4I!@lA}gBjkAn3y`qbPOe96 z{Yzxb|KH?I%t9P*cVt8}Y`Z7?zVQy`C7$|g=syiL?rQ9U>Gpbi?{ zFvM|C{o*-J;5f14q&7Kf+!Qt?YTUGr)1mI;EU4#5Ue^~yy{Fbe^{2^k9B+5L2Xj;YH|q209%^3q z?E_Sv=cxQ~eh>SV4D%3|MD;6&I;U!mYoX>>2Q{DisNX5NqkexInx3$ZxvK|i^Jh}vwlZH-uLYw)cl7# z9*Mf2KS#}X8Ro|$sB<`h`km~S>d71D7}r1MJ|51%A6;nR?RG8-^)VyY3M#@*8=DC7L&V)S2FctC5vtfVkpyJr) z!{3ARpw^!cwXQ-KjrCCX&zq?H?NQ@*Lb^wEM)m88dJc}d5aQ9O`Z1{MWTxX;sPmbJ z%Ciu4-m6e~)}Z>Wwd?G9RQ*Qmj@d7U|Gvl9sPeg}=l*)f8|`LPzAcV_a=gv)cE>wV z*TG)Yy!N~Nfa62<2=L^aHLvgN52$h1qUN#Au1DQxm#`l;yBy}-5_KPULY;q4 z)cxAq_DAJ;&-KF`54R&wN^`y5qU1{7W6LMD52a)V$X^UT-(LdTNd{?&F|$JRxyyD_R?Q`Gxo57+lZ-G{?b z`!dqyA37fGcnqrlI6EGd_jA`zLiPW`gp!A*%gj)VV#ePwg|;zi|AY?>-`ej`vylLs9!M0=15j zjz2=}(*)FYJ_XhP3zyGAy?3re^;_lo)pm_ti<;L)RJ+Zn@qWUzBs_K_?E4MWICoI( z@7u>NkN7k6k3!8O7AnsxE|2FpA!^^!I8Kk+x7?_Hc~JAnXA8KzpeixMUYW&(RuY)@OHyyWdeQVTycSN0YH`Knri<(DY)V%t+ejvV2{5LB9UDyAM+Lwo@ zeveV-^U~$9Zif1}sQUP*ya`a_CPmFJBkKAq;QE5DFNPYgxZ~2OJY`XN%AwAu8fqSI zxV)CFjcQ-l*0&8&d7Gf}G_}oabNeQ$e@n-$Y-`)bwngRZ;JBmhWINj~wyW)ins-n8 zj_qsTw}b6)`=K3U$79Uri=B$v-&uC9%NL`@TZWqNa@YTeI{(eC--g=PJ*d0~Q0IEo zo-(hO#D^TPAXjh}wu@2RKz1@Jy zv&HdN`;*;<%Cp_^4!hIkyX+p9|LS-jD(^wZhwNe0_($wfRJ)UoPubI`anCwF=lFu- zi}sSsuh?rYzmD3E+b;hHHO@W959}lR#6Ghx>`NPYJIp5*Do5Jk)|~-0P8OGEb$K?M!{%~*Zq)A=6;bc2^-=eIOVst%P4!G{#NT0G zMx)9nV>VocdY}0P^*MXyA7cFbPWb+p@ou<2bE4*z7d6lP*aAO9nn#R6{SG)6bv-Xd z&0{sH{aV!Zyvgwv`xENA-sgBfD&GNAp5v%Imr&2Yo2cIrbN?Iai=g_KMa{1wYP`y* z{jX+g+S;i6bx`fbN!pB-)VZfyccFB;kbKYe?LX#{oGDQy$8%i zd1xuj{Di_}{2`{bTQ-_UnP;hp2WhQ2P<@erO-xCcr|Jm&CHz7xnr5A!@(2 zqQ?IjYht_yVV((4`&k&SsIP&_UlVn1tsJ*Tol{%X_ked?-W&D4I@<9VRJ(DGKeppt{)yv> zsC7+p`4q>~P|u^U>;jiBL5;f}bzN^mjk6uKpNAYDMy=x^#+*NDJ^$I4s65G@hyE#0 z^(j&FN$c|TsQa@7>bffH^75$m6&zPWJqO-=5uOhNu>tY!|3d#On1=Z2%W!_Nn6<9& z$fiIxzz%7{k|VBtY;|ddiV&n zt{JHNWIk%2SD^0eZKymuQ1kr*HSQ5q-V3Pnzk=GQo38&0HILh_zw7dQsQdnf%Om55 zdBjJxPk_po1T}7Qo64reqBN|TAS&j+U)~!V&~7X0y7&b(zuop%tVf(CVaT5rl{W+G zxzilAuCCYte?h&cT|iyOFEHjgm?-p*kLsTY(=(4;iNkn#Q1dQ;T1P?DK9+G@)|Nxf zuL3GhWmLNcsQqh(%F`0nuC?R#sCNHD<$nj&zQ5}SqS_C3`3IfmG3g@TyLYs{oD2TQ0sh%>i-<|`)KbZVV(U@ z&%uu|6D~sKTY_r89Ccl;Mde+G8h0~l9y?sV)8)US`W-~|JApdC%c%S24(hsnj@svl zq+z@$)I8%jj*Gf4GNI=8Dk@KT*H^TaQS)x=xIJpz?x@eRv8d03nW+11KI%Pc6RO=# z)OvT>J*av8hFafY)VwdC)^!cl{swA4{x`qS|*w zokJhj_jCCG)P7Duwg19?X{VybnQmvge3qSUzp`JWo@3vm&ToUuH=@?}Gb-N>)O>$) z{eIMbA9npwd))OW9G^m+?`_m|`LBJ1>i+_j|E1$NDMK9B#z)N~8EU=BZ3@??a-7R!sQbM<>KtpK_P43a z+u80e?}xfRhoIK`A!@%TIG${0pxVu|OHt#jLS2WuQTwz9)&CIceeN>G+~27Dk5GAD zI({Wp=oi<Ln-H}xiEUDw9JN2GQ2UV%HIMWz&*V6>&4S7k?Km5%UoO;qOS-u-q4*BG^~R;cT%gUdVFE-vqhI*<2UJ^+<(AZnZ;E+2;a-FKSf z8K`zMQO~^d^^P~#jdqjWY`381vCZ+%sQvi`wa(qR8Aqj#iut`^ zCTd=@Q0re{zePQ#x1sv)#1U9EO~_Ln+Y--ryb$#qtd%xA7h2+K;>78~I5|=I3!<*C z*HQB+i5kC@Ep5x#vbLNpZ!6e}s63S&S3y1J+M)J;AnG|a4)y!YT-3QQL!I*q)cRJV z=CKBKKm3Z?$KO!-51`&3|3bC9jX5!S`p`ZXDsK^68gmf0LFMm&>etbBLOtK!bNwJx z|52!UeT*7+g6ls+UB6RZKHbj5T$KNWISS3{k9T~xltwgqZFZBTjJq2|-xc0lb% zPuIVVYX2@O&-;!CyMCzS4^Zbe%H^Z&SXBOTj>n_&eTvHWh2!b2pXvB(RK9sGUx3Q9 z(D7o_J}gJITVYqB+O4*0P@iKP9dAO7|C8N;+NXV}=l*fjzMMqmJ%j3h5ta86YJYFp z`>6I0UH{1O6V&=%qVhy#4E++K=A8nSFC}K>f4rJ0D(2reYm2&``l6m!<51WCV!IOy z65qj(uz%*z{$sqQI7?K_KfgI2_4)AwYJMwGifYTsPV6(u7kU%_n()j zJds($e#J-SOJEb)L^iQaVw0l!Cr9PY=<-Z9GislrQSGw3JcrGRI=8&2^C*OBSHu=` zc?s11mPdUqH9$R=dSPY!4qwNMxCqBYhjaP_3lOiva(EAQUq)pM`;rwE7e;-rt%w@G zGHTw{Q0HCS<#kclQwxmw9S94tVGFZI#r*$_97fIWD(d`W=j3}GHp&$hagg%p+#zoc zRJ+$v{vU_evG<5COe*j%0CU2Zw6|duTj_aW>ouMT)!JN-X7HTdlYpZ$@7GDWkR*j zh5EgvTwXqJuz9|aw>7H13+g#P0F`f`%SWQl>m$^B#<=`5RJ+gZB-B36cKnt78nw?0 zQTzX`{Sk)|7s(&WOQ5dvN~k<_Q2WpTHBLj+Jer{Lv~qcC+s3vlkK7pngZ1Ss>({hZ<)gYTQMb4-cTu;V|m^+h3@5|6mSGQ7|eZ8ehed*aJ0AFVuYd zI_{6U9*3gtj|r&#{{pq%>8SQ|P~*=<<(cnz0qXg((&ejA&!OK@{g2oas66K#UqkG_9`3BT@n^5Pl3$@N)F+bizjUQPgG(rC3N_AXRQrz|Pe8T*)J{U> znT%>T6|>)I6U$erBJe<`uhW$R8gyuSBSIq_F8+p3!DO%{v-3zif_kxIQ=Pc~KO# z-U_JuyFMy!Q`Gg?9`!uv{ymJ! ze;zgNRaD;FsDAfR`|=pIjwkjhYTW0JUpRhgBa4OlSg8C-QS(WK%99$k{;a5RbD{2= zS5bM3quRZ0OW2aA_T_C=)aPAm)O#K-BDD(GpKc5uvbv? zx$FAJsP<1#?-!|G4gE5q#xIUB^F^Iwb=3MApgxy6p+499yL>omej`!){V}Tlcsl{r z|4YYHQS+aUui{=*|NX8%;P{Z^KkQ+9#2&TB>~VVnmG3laoU``4>o1`8=ZfR2sP;Ed z?QgpLmi-IW{tl|$J^Ro;LG^oPU${KtwXhG7sD7~>$3dNYLR7!RE>D6QCxzpbSd_Rb zYX9n?+BdL`P}gB|)O+1qsQ$fN{w}KDV3!Yf`6!o9M4i*8sQG+hXQJ|a?fN-(uAOJ+ zqvo^F@glp}F0tR(rFI$Wb8r9WDUw%}c z!Y(g@T3<2L^R)~rZ$;NvLR}{{9M?p(Yl!;3*9~=^Jsgifus14iAKMSLk0Vg?8Hf3BC2HR`q1L?_)o&~6^I|`$ z{V|uHK+XR&s{I+%KHbKc&kxk!K@*e>`<4VNQC}ZZQQoOs=-<_LNA>INxG!q_{;22V zP{+gV2dHsJqV{1n>T`1mYJICv{nubO%ve6u=SKC*gR0Mm`a47Y3Q-a5iI=0!c_nJx z4OjyILG8~I*S|nLkBd|c-=nLc>g%KOH*nk%wQrqV-Wj!@eKBTzE`JZT{-Ia|zeRnX zZ$P!%gu0%7cDw`iK7R%^-dTGNb^e!8`EH`l={D-~=>;m^OVs!ORFy*i)L4kP3aWi| z)cLip9Dauwi@HC)K<&?T)Vk)O#`y*{-?fgnpne}bj+)OIRNnLW8-80Q{2g*<)$sk} z3TnUqLap;(+>WcOg}?WmLCyOd>T~rjY9Ax2hxtd^C>smaK8}rxx-L?p=8*=q-l~{R z>#Pyh(*@P98>)R@)c*E!`FmK9cpmo0)HTDpb6^hQ8mRrLji2KwRK7E)bzQ#o1)^82WHJ$4*b zJLJh+Cn}-}c%bQ&IDrhT4|}ju)ctyB|>Jvfbr7Q2V?KHNQP} zuj}_Y-j8bcyUP!u#y{@*lc;&0Mcs!f>xOxxLS1(mF`9{$tryD6+488ol`u8+&Fb@e zG7f4G@(n|+XEJO0h_etW>>hf(`;5<6qLhT%G?hI(%FL*?m@8t;8O5Otp8Q1|In)V|I{ zU1#%A?H8i@FLL>E)cx^Gqj0__P`~FqM74W_>i5JxbNO@o0=3Sl#^HI83DrIeYTxrX z&WFmEAN9Um4)xC|G;0#hxee<1(*v{P1XR1P6w~gfrr|o=i+V4=gc|1x>b|CO>Mw`nr6u z;~}W_!%+MDnd3?L8u3olIMHpw?=`hi`_vHM!0D*GGf=++u4)_Ru@1G5yHMl*irVK( zj<4DqsO#r}UZNRsQFgIT-XEk&moO%AMT$oF`Du;HuZ@* zhUaJ+B#cOl+TSdw--YXR3VG|Ho|`RD?{jaXem|aoIq?UqivOba`yoctKTVe~zdES- z)kCejA!@uvsP@eqH%DDR|LYpAhjFO$`W*Ei-#PUXxLIrlao56{vath|0Il@dn3R9dASR-{JTdyBpQ-H`KiM zquw*FJHCPX9XaP)VVvBk`>zP9eNohUN}~3?4r-kGsC{XU`W) z{5{lq2G~I^A8d!Xd>CrpAENeWjO)j`{$rOEo z>%VaQEL5Jw7_)DvahKbbsP(T!?aw;9-fplPQTw{tZnfL&cGSG~q4NA@_q+TUYW$Nf zKZV-I3#j>ALFK>Z`s?-v#_TVu{bQFuLA8H|%KM+=h#p~|lcDC3+@`Q8Z7Q4Erm<;J z`7)sLXL5OF)IMc*c}|z-vbk*@n-`U*0BU_jQ130}QRi44HNP6RChGf48`ODsMm-mX zq2@6H)&2uJ5;dPOj>n>|n=eqGPm59gzH$9hj5&A5-`gKh^Ze2EYaMSu_1}b=?+(=d z|BA}9-}MJk?+d40f6?_qORArE^m*zPkLfX5)b=d*w68(aVDVhPekqS z9Mt|VM4i{SsCj&kYPZ7W>#!*CbyWU;QRf`@ov@#YQQuQ@^bViXZ=lYx8EW6#qQ-BB z+V@VV{9RC=i$mTG<9~>%AA_nNhnmj>`>E?EJN^=tcdE;0;#5BS3I0V&hm>q#th<|px1C?*5{l(?G zQTu(s@$arbgzBHNUwB?*M)l8vI;R|{@pEG|)$f+mU4K-+_b?kyMP2u^ zQT^vQUW8iTQq=l?bi5X|uJv}K-E6m_`fW#zvjcTKK63mR)&D7KossW_dA)*quPck1 zM+MaLp#>^WOH{wswk_)V>56LK9W~EBsP=trKil8Fhsra+4#MAvtG^%m)vz_O5#`ez z&p`E?Wxqmw&tE?v^xI%J+D&#ds^3=B`_(bjywAD*yuEb)pp zU}zs3b$$sPCqcDOW>eTysC`O{y8m*buJz3eTZYsCiDnT9h9d9M*Xh zmH#;Ed*%bjk5KJjqV_*xNK`}xsDQfes-ouoCTbq7T;3klz5^<6C))*eee^>89ywxY zs2_>SHwLxtPf+{zIV$fI)bn}{YJOW#?YCo3EI2HTR|qv;5!CnpN~q7_+Nk&Z9;ke8 zqw)>J>6mPI=$8Vu-VCVuXLNaH)Ogt)=R`eEN}}48LXA@eC*u*Uh$%;e@9_mb2>pv< zJ<5ln`VB{|^FuoZHUDv_`F(-y@L!kTN40;9dM}GNGMq;Z)VVi8t@B;fb7JC$;rE*z zsOQ&7tc2-Dg>_~_{mxMOqp&aKun6_NP}kEy)bBVGM~C}xD(ZXQ52$&rM9p&xHlbaz zvHY&BeB+!C^*!Z%RQrKQb;KY$7`3k>Q2ROAHqhR{_-i zzm7F<2%RK681UyW+F#`Wt^*YQ@z+g$%M z>iYQ=_1<(GHQzHXzk(X)29C$RYCbPf?O*vUe2%BX zPQ-(;GoD4|zlHj}BF?0!h+@PgP=7~mjJi+S;=8yXbzfXYT_4v_`*9ET{D?g{+#i{y z@H;d4Dt;0A*G8?YA?o^SkD6~s)HuUX^B(T<4^a6>VGdmE`X#PkidxqS)aS__)H;r# z=6eyfFMp!Oxn*zLe_a0vHLn+_e6ha_aRSu8-&SC1xZaAR=Jz@(UrE&W_kJ$#kIFL` zHU4PSd4BBr@u=s(0<4DDQF;Efw@~xF=lB6?yoacKk<&sPh1!=msOu*uYX6Jb3aGr5 zQ2i_0Dz++WUNuqUH9+NSj9Pz7RKHfJ_rAAL^Id_uzjjRz=lbW2(C#Lx|7}#h2dL-3 zON_bhW`^=4sON7M)cm4R<79JvK9?78c|ltUwa&V(uaCNZ+B$BJ(ZnOLGhRZy&;B=y zzqb-MoE@&Ox3LK2v%U)B&PJWreAK*`VRq_&`#P-WAZnh6P|tzC=Y)0-QRRx`Nk zOoZBpq^NbLLA6VV`nyCC)cPx;p8s`_v=Mb3w?MUT<+vNF{w>?x_OLx|FZ;IrpM3}Q z{bLmB`uWt(K#emCHJ@)$*Ux&?ymq3_`P95{ot#6}-$Ffa;?EEFLkiS;Om5V9ypB1r z1*&~l)c*8Fjn@Y?kD;h_4MSaDpSgaL%O~3@F8|U_L+$TO*UxhKSE$d6`L18&@+GKo zzHz(^^*Oc*m1nK%*SUU!$A zpTAsw8#TW>j_;!8{SiR2;%3BoGuax65wj8Q`Wz;(B zqQ-52%G(5$r0O=ywZ1H_k9K)BRJ)um&+YO&F3<0{fGvm`ubAUk zQR5YN{JJfH%3Ip?Wo>!aS3u3Dip#6HygI7i8@7(i>)Lv@K5E>CjvF~{Vw>4FZA;X7 zw?d8E&T)I&!FIHrY-d#aw;Xr3J#0_g%f5{<_r2qOjt4m&Y=_vPc9((#9O zl>Nw#wqxvA)cJgZ`u7q}E(!O`pQ!cUMBV>)QP1x<--Pc+=`cHS8B~2`EJcSwOGEu9 zsQ20VsL#LeQRlQ0wLfc6_vJ6Badx3T-wvb3x$g2C_D|I3-aW_nQR6;y{M^1k?PsiI zVL#%a^1ou^x;(z)1U8{fghgmy7WFw=&*k+o=K8UXQR`}ldLQVAIdCfKeSHb4{ZiEL zPUlebIFHJE7q#yXQR_|cZ5X#Ss=f|tz0FYlnxpowB}U^Q)IJWw+_(U>-y2-M1@-;+ z+IQhS;sI(tk5Ks@JAP`PyZnXy5B0eee|c!105#vFsClG7F zDo-}o=WuyW)aP6w$Aw*A)NwKUD(Z8$jN`JX`BZRR5w$N>QS+ibMH$IVgK zOB=^+u^aIY$2(E`dJ2{A3@ZNxdj)mg4^Z=XjN0EPsJt&x*Xb+YhkglA^$Ah=5<5;} zliFl9xlMsF`;9u6tf=v_yF91OjhbJ6)b&%`aVgaAD-C}Lc^cyf)c=7xkK>pfpP;@M zq+1d8IT|(pJdTT?=3f-`Ia}9pJzF1@uZiQPwi&jde7WQAu|Dy0Y>tgra$S?S?~mc1 z12}*h=b-%^b$y&fy%*nb`JeWty=DJG?b9RFK0S5$GyB}WK%G;pRbjmeG3H!sQq(+> zq4psyDqjZIXTrL~-7y<}jQT!0A9W6kQT>*yo-pV}xa)?{zMFl^c1Mld3zff*%lo4C=Y2aEbzgsoYCjrv z9gRoL?-Tne4kUhMVYv=3^1{ZW4p9Q#wqKMpnSc*heQPeiR}5^DZaQP<0C*MIH$`HmN&eh=QTE!;Q1 zpys~|b>AOCjeo=*cl`-_(w?%X?HPO4p0nre1$z;-j?0d(*sG{D_9=(Wi@Gk0pvHL(HIEXg&w)y)`Bp*Ysg3I20M)NK zYMl1AJF0&#`wnVf2icEMU@`@=JkWiSJ;)P=hrsO zj+d}FrrFN#M)(@4-|MLSC2UF5yvw-0oa2hFuVgEu=3gC^rzUEBja}XxwNLF(>+6mh zr-$und)c?`|4{jQqvp{Um1i*O^Kz=oXQ0+U2Xzh$F=n6aV!H(Op1cl~=Op73wugD!CUlb~TT$>2hE}83-yF3kQ-sw>Lo(DBwy8edQ zQKEzX#QRugmv4K8Wgf1vQVqQ1iWQ|F-|2^8M@h zp1p4$xc;%@C-$k!U)YFW!g^jo<%@3<*`%m*Oo^IrYL}<88C{;)W<~8!F4R8ccX>fu z7&T5YTioR(Y$;T~@~AvjQSEEE{ta8(*0uF*L)+Lkwask{RKC`Z+oJw?h5@Mib}VZA zPwXVr->tqw&F4qdKCHHD?RvY>ZbpssljEOJ=eXVRPS@{7?e9Lv2kar#IEPXFjyOK% z`jhsIJ#R1BtEhh0>~+*Qw;ccF_>R4g8t)-${m)SSpQGM` zpUL%^U7r>89L$Z%TfpUoP!FnyrC)k8Xwf??DXO9ll?FhB+wz z5tVNhYCfABZ$`am9>&kH^B&sMaLlh!G5^2E_fY4XWN(;9I{cD&IqJMuxqJ&2A^r<1 zVZnW2yh5mbE#~-DRKHR#FNa!31zQO<&&sIvR&!h(^&F~?dOoy4^=oH4*iNYLJMW;z z>5u9+43&2{D(^^C|50|d%g3SGeQd|0@=e8<_YaqUjp{!a^*!w`m)}NxAC9v>tUEsH z^FI|TZ)#M(w5W3_$s2OeyIH$gvv7%b&emP_VZ)Zye8QhsCKjM96R4GvfrSt=O686)O*1`)cSsN z`7zY`PN3dz?mK>HA7cs13m*vQQwDWiyn#BW2B`HlMdfLZntvf*& z$M2)oIl|>1pw>Ii_2ca)sL#KzQRloA_5Enu!H|Ck>ifir-@|;)qSk*Mwcqz0|A!hc z?xD~wkxg#X*o-zBHUAu_&%;uv`Ip9XnD&n_Zo$Lh-`DJd`u8EGq3-XEN5X%1ve41+ z{@W3?U)@mi>WA95_v`>v|7EDZx9mZEU#@g4th)~8BkqscaVl!RzDE6fkUNftfB$6Z ziEv(PP|ua$QRj9JwSRx2#=V7F&tItZMV<_C6srFJG@S={R>cyA5mfZr5i2SX1d@vVLTF+y*n0sKMFkNRL_n&D9T6LL1r@M@V#D4A1-qhRzu!CO-|OARW8!MwIcJN!TF6M``i;n{GH_dQ$_q>Gz4u(?>+=Kjr)t&VN?qzF04&%kZD? zC-(mmvGb3(kJ9)2FzLrM5qmiz`?)b9eoq&%GhQUVOUz3}>|AC}bov$Ml}?{zeX@DA z)2|V+f4xXMZxA!Y6(aAWKKV$$Un6$@B>Da53F48;|5)Vt^v|b>|NlhnwD>I1cM|!Y z)PZ7#%9VVcjKeUI{y#dBKPHTk$!o^d`x8hUv2$)k@mhMV((?^>#V1{ewIi(≪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 JzyBlu{(n=B2Jip? literal 0 HcmV?d00001 diff --git a/源代码/StgSharp/Controlling/Controls/BattleField.cs b/源代码/StgSharp/Controlling/Controls/BattleField.cs new file mode 100644 index 00000000..adbe98f3 --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/BattleField.cs @@ -0,0 +1,51 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="BattleField.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Logic; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Text; + +//TODO 这玩意如何加载一个渲染流程以获得各个图元还没搞清楚 + +namespace StgSharp.Controls +{ + public class BattleField : ControllingItem + { + public override IEnumerator GetEnumerator() + { + throw new NotImplementedException(); + } + } +} diff --git a/源代码/StgSharp/Controlling/Controls/CharacterIndexImage.cs b/源代码/StgSharp/Controlling/Controls/CharacterIndexImage.cs new file mode 100644 index 00000000..b7c39588 --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/CharacterIndexImage.cs @@ -0,0 +1,59 @@ +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics.Contracts; +using System.Linq; +using System.Text; + +namespace StgSharp.Controls +{ + public class CharacterLineIndexImage : ControllingItem + { + private int length; + private char[] displayIndex; + private char defaultChar; + + Dictionary texIndex; + + PlainGeometryMesh _tittleMesh; + + public void Display(string message) + { + if (string.IsNullOrEmpty(message)) + { + message = string.Empty; + } + + string result = message.Length >= length ? + message.Substring(message.Length - displayIndex.Length) : + message.PadLeft(length,defaultChar); + + displayIndex = result.ToCharArray(); + } + + + public override IEnumerator GetEnumerator() + { + yield return _tittleMesh; + foreach (char item in displayIndex) + { + yield return texIndex[item]; + } + } + + public CharacterLineIndexImage( + int length, char defaultChar, PlainGeometryMesh tittleMesh, + IEnumerable<(char, PlainGeometryMesh)> indexEnumeration) + { + this.length = length; + displayIndex = new char[length]; + _tittleMesh = tittleMesh; + texIndex = indexEnumeration.ToDictionary(item => item.Item1, item => item.Item2); + } + + } +} diff --git a/源代码/StgSharp/Controlling/Controls/ControllingIntem.cs b/源代码/StgSharp/Controlling/Controls/ControllingIntem.cs new file mode 100644 index 00000000..8b1efa90 --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/ControllingIntem.cs @@ -0,0 +1,25 @@ +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Controls +{ + public abstract partial class ControllingItem: IEnumerable + { + public vec2d Position { get; set; } + + public Rectangle BoundingBox { get; set; } + + public abstract IEnumerator GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } +} diff --git a/源代码/StgSharp/Controlling/Controls/DecorationBox.cs b/源代码/StgSharp/Controlling/Controls/DecorationBox.cs new file mode 100644 index 00000000..5d4462fb --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/DecorationBox.cs @@ -0,0 +1,26 @@ +using StgSharp.Controls; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Controls +{ + public class DecorationBox : ControllingItem + { + private PlainGeometryMesh renderMesh; + + public override IEnumerator GetEnumerator() + { + yield return renderMesh; + } + + public DecorationBox(Rectangle bound, Image texture, vec2d[] texCoord) + { + renderMesh = new PlainGeometryMesh(BoundingBox, texture, texCoord); + } + } +} diff --git a/源代码/StgSharp/Controlling/Controls/KeyboardButton.cs b/源代码/StgSharp/Controlling/Controls/KeyboardButton.cs new file mode 100644 index 00000000..1304c498 --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/KeyboardButton.cs @@ -0,0 +1,110 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="KeyboardButton.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Controls; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Controls +{ + public class KeyboardButton : ControllingItem + { + private PlainGeometryMesh current; + private AnimationBuilder switchAnimationBuilder; + + private Action? enableAction; + private Action? disableAction; + private Action? confirmAction; + + public bool IsHighLighted { get; internal set; } + public bool IsDisabled { get; internal set; } + + public event Action EnableEvent + { + add { enableAction += value; } + remove { enableAction -= value; } + } + + public event Action DisableEvent + { + add { disableAction += value; } + remove { disableAction -= value; } + } + + public event Action ConfirmEvent + { + add { confirmAction += value; } + remove { confirmAction -= value; } + } + + public void Enable(AnimationBuilder animation) + { + if (!IsDisabled) + { + return; + } + if (switchAnimationBuilder.IsComplete || switchAnimationBuilder == null) + { + switchAnimationBuilder = animation; + } + if( enableAction != null)enableAction(); + } + + public void Disable(AnimationBuilder animation) + { + if (switchAnimationBuilder.IsComplete || switchAnimationBuilder == null) + { + switchAnimationBuilder = animation; + } + if (disableAction != null) disableAction(); + } + + public void Highlight(AnimationBuilder animation) + { + if (switchAnimationBuilder.IsComplete || switchAnimationBuilder == null) + { + switchAnimationBuilder = animation; + } + if (confirmAction != null) confirmAction(); + } + + public override IEnumerator GetEnumerator() + { + current.Texture = switchAnimationBuilder.GetAnimationFrame(); + yield return current; + } + + }//----------------------------------- End of class -------------------------------------------- +} diff --git a/源代码/StgSharp/Controlling/Controls/MarkingLable.cs b/源代码/StgSharp/Controlling/Controls/MarkingLable.cs new file mode 100644 index 00000000..678e9242 --- /dev/null +++ b/源代码/StgSharp/Controlling/Controls/MarkingLable.cs @@ -0,0 +1,47 @@ +using StgSharp.Controls; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Text; + +namespace StgSharp.Controlling.Controls +{ + public class MarkingLabel : ControllingItem + { + public vec2d Position { get; set; } + + private vec2d _currentPosition, _movementVec; + + private TimeFunction _movement; + private PlainGeometryMesh marker; + + public void MoveTo(vec2d target) + { + Move(target - Position); + } + + public void Move(vec2d movement) + { + if (!_movement.IsComplete) + { + Position = _currentPosition + _movement.Calculate() * _movementVec; + } + } + + public MarkingLabel(PlainGeometryMesh marker, TimeFunction movement) + { + this.marker = marker; + _movement = movement; + } + + public override IEnumerator GetEnumerator() + { + throw new NotImplementedException(); + } + } + +} diff --git a/源代码/StgSharp/Controlling/Designer.cs b/源代码/StgSharp/Controlling/Designer.cs new file mode 100644 index 00000000..ad0ae014 --- /dev/null +++ b/源代码/StgSharp/Controlling/Designer.cs @@ -0,0 +1,19 @@ +using StgSharp.Controls; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; + +namespace StgSharp.Graphics +{ + public class ViewDesigner + { + + + + + }//---------------------------------- End of Class ----------------------------------------- + +} diff --git a/源代码/StgSharp/Controlling/Get.cs b/源代码/StgSharp/Controlling/Get.cs new file mode 100644 index 00000000..e3348dcb --- /dev/null +++ b/源代码/StgSharp/Controlling/Get.cs @@ -0,0 +1,53 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="Get.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- + +using StgSharp.Graphics; +using StgSharp.Logic; +using StgSharp.Math; + +namespace StgSharp.Graphics +{ + public partial class ViewModel + { + + ///

+ /// Get the status of a certain key on the keyboard. + /// + /// + /// + /// + public static KeyStatus GetKeyStatus(ViewModel form, KeyboardKey key) + { + return InternalIO.glfwGetKey(form.id, (int)key); + } + + } +} diff --git a/源代码/StgSharp/Controlling/IO/GLIO.cs b/源代码/StgSharp/Controlling/IO/GLIO.cs new file mode 100644 index 00000000..ecb885a6 --- /dev/null +++ b/源代码/StgSharp/Controlling/IO/GLIO.cs @@ -0,0 +1,2641 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="GLIO.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- + +using StgSharp.Graphics; +using StgSharp.Math; + +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.InteropServices; + +namespace StgSharp +{ + internal static partial class InternalIO + { + #region ssgc api define + + [DllImport(SSC_libName, EntryPoint = "initGL", + CallingConvention = CallingConvention.Cdecl)] + internal static extern void InternalInitGL(int majorVersion, int minorVersion); + + [DllImport(SSC_libName, EntryPoint = "loadGlfuncDefault", + CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + internal static extern IntPtr InternalLoadGlfuncDefault(string name); + + [DllImport(SSC_libName, EntryPoint = "linkShaderProgram", + CallingConvention = CallingConvention.Cdecl)] + internal static extern unsafe uint InternalLinkShaderProgram(GLcontext* context, uint shaderProgram); + + [DllImport(SSC_libName, EntryPoint = "readLog", + CallingConvention = CallingConvention.Cdecl)] + internal static extern unsafe IntPtr InternalReadSSCLog(); + + [DllImport(SSC_libName, EntryPoint = "loadImageData", + CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + internal static extern unsafe void InternalLoadImage(string fileName, ImageInfo* output, ImageLoader loader); + + [DllImport(SSC_libName, EntryPoint = "unloadImageData", + CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + internal static extern unsafe void InternalUnloadImage(ImageInfo* output); + + #endregion ssgc api define + } +} + +namespace StgSharp.Graphics +{ + [UnmanagedFunctionPointer(CallingConvention.Cdecl, CharSet = CharSet.Ansi)] + public delegate IntPtr ImageLoader(string name, ref int width, ref int height, ref int definedChannel, int desiredChannel); + + [StructLayout(LayoutKind.Sequential)] + public struct GLcontext + { + #region glapi + + internal unsafe delegate* glAccumxOES; + internal unsafe delegate* glAcquireKeyedMutexWin32EXT; + internal unsafe delegate* glActiveProgramEXT; + internal unsafe delegate* glActiveShaderProgram; + internal unsafe delegate* glActiveStencilFaceEXT; + internal unsafe delegate* glActiveTexture; + internal unsafe delegate* glActiveTextureARB; + internal unsafe delegate* glActiveVaryingNV; + internal unsafe delegate* glAlphaFragmentOp1ATI; + internal unsafe delegate* glAlphaFragmentOp2ATI; + internal unsafe delegate* glAlphaFragmentOp3ATI; + internal unsafe delegate* glAlphaFuncxOES; + internal unsafe delegate* glAlphaToCoverageDitherControlNV; + internal unsafe delegate* glApplyFramebufferAttachmentCMAAINTEL; + internal unsafe delegate* glApplyTextureEXT; + internal unsafe delegate* glAreProgramsResidentNV; + internal unsafe delegate* glAreTexturesResidentEXT; + internal unsafe delegate* glArrayElementEXT; + internal unsafe delegate* glArrayObjectATI; + internal unsafe delegate* glAsyncCopyBufferSubDataNVX; + internal unsafe delegate* glAsyncCopyImageSubDataNVX; + internal unsafe delegate* glAsyncMarkerSGIX; + internal unsafe delegate* glAttachObjectARB; + internal unsafe delegate* glAttachShader; + internal unsafe delegate* glBeginConditionalRender; + internal unsafe delegate* glBeginConditionalRenderNV; + internal unsafe delegate* glBeginConditionalRenderNVX; + internal unsafe delegate* glBeginFragmentShaderATI; + internal unsafe delegate* glBeginOcclusionQueryNV; + internal unsafe delegate* glBeginPerfMonitorAMD; + internal unsafe delegate* glBeginPerfQueryINTEL; + internal unsafe delegate* glBeginQuery; + internal unsafe delegate* glBeginQueryARB; + internal unsafe delegate* glBeginQueryIndexed; + internal unsafe delegate* glBeginTransformFeedback; + internal unsafe delegate* glBeginTransformFeedbackEXT; + internal unsafe delegate* glBeginTransformFeedbackNV; + internal unsafe delegate* glBeginVertexShaderEXT; + internal unsafe delegate* glBeginVideoCaptureNV; + internal unsafe delegate* glBindAttribLocation; + internal unsafe delegate* glBindAttribLocationARB; + internal unsafe delegate* glBindBuffer; + internal unsafe delegate* glBindBufferARB; + internal unsafe delegate* glBindBufferBase; + internal unsafe delegate* glBindBufferBaseEXT; + internal unsafe delegate* glBindBufferBaseNV; + internal unsafe delegate* glBindBufferOffsetEXT; + internal unsafe delegate* glBindBufferOffsetNV; + internal unsafe delegate* glBindBufferRange; + internal unsafe delegate* glBindBufferRangeEXT; + internal unsafe delegate* glBindBufferRangeNV; + internal unsafe delegate* glBindBuffersBase; + internal unsafe delegate* glBindBuffersRange; + internal unsafe delegate* glBindFragDataLocation; + internal unsafe delegate* glBindFragDataLocationEXT; + internal unsafe delegate* glBindFragDataLocationIndexed; + internal unsafe delegate* glBindFragmentShaderATI; + internal unsafe delegate* glBindFramebuffer; + internal unsafe delegate* glBindFramebufferEXT; + internal unsafe delegate* glBindImageTexture; + internal unsafe delegate* glBindImageTextureEXT; + internal unsafe delegate* glBindImageTextures; + internal unsafe delegate* glBindLightParameterEXT; + internal unsafe delegate* glBindMaterialParameterEXT; + internal unsafe delegate* glBindMultiTextureEXT; + internal unsafe delegate* glBindParameterEXT; + internal unsafe delegate* glBindProgramARB; + internal unsafe delegate* glBindProgramNV; + internal unsafe delegate* glBindProgramPipeline; + internal unsafe delegate* glBindRenderbuffer; + internal unsafe delegate* glBindRenderbufferEXT; + internal unsafe delegate* glBindSampler; + internal unsafe delegate* glBindSamplers; + internal unsafe delegate* glBindShadingRateImageNV; + internal unsafe delegate* glBindTexGenParameterEXT; + internal unsafe delegate* glBindTexture; + internal unsafe delegate* glBindTextureEXT; + internal unsafe delegate* glBindTextureUnit; + internal unsafe delegate* glBindTextureUnitParameterEXT; + internal unsafe delegate* glBindTextures; + internal unsafe delegate* glBindTransformFeedback; + internal unsafe delegate* glBindTransformFeedbackNV; + internal unsafe delegate* glBindVertexArray; + internal unsafe delegate* glBindVertexArrayAPPLE; + internal unsafe delegate* glBindVertexBuffer; + internal unsafe delegate* glBindVertexBuffers; + internal unsafe delegate* glBindVertexShaderEXT; + internal unsafe delegate* glBindVideoCaptureStreamBufferNV; + internal unsafe delegate* glBindVideoCaptureStreamTextureNV; + internal unsafe delegate* glBinormal3bEXT; + internal unsafe delegate* glBinormal3bvEXT; + internal unsafe delegate* glBinormal3dEXT; + internal unsafe delegate* glBinormal3dvEXT; + internal unsafe delegate* glBinormal3fEXT; + internal unsafe delegate* glBinormal3fvEXT; + internal unsafe delegate* glBinormal3iEXT; + internal unsafe delegate* glBinormal3ivEXT; + internal unsafe delegate* glBinormal3sEXT; + internal unsafe delegate* glBinormal3svEXT; + internal unsafe delegate* glBinormalPointerEXT; + internal unsafe delegate* glBitmapxOES; + internal unsafe delegate* glBlendBarrierKHR; + internal unsafe delegate* glBlendBarrierNV; + internal unsafe delegate* glBlendColor; + internal unsafe delegate* glBlendColorEXT; + internal unsafe delegate* glBlendColorxOES; + internal unsafe delegate* glBlendEquation; + internal unsafe delegate* glBlendEquationEXT; + internal unsafe delegate* glBlendEquationIndexedAMD; + internal unsafe delegate* glBlendEquationSeparate; + internal unsafe delegate* glBlendEquationSeparateEXT; + internal unsafe delegate* glBlendEquationSeparateIndexedAMD; + internal unsafe delegate* glBlendEquationSeparatei; + internal unsafe delegate* glBlendEquationSeparateiARB; + internal unsafe delegate* glBlendEquationi; + internal unsafe delegate* glBlendEquationiARB; + internal unsafe delegate* glBlendFunc; + internal unsafe delegate* glBlendFuncIndexedAMD; + internal unsafe delegate* glBlendFuncSeparate; + internal unsafe delegate* glBlendFuncSeparateEXT; + internal unsafe delegate* glBlendFuncSeparateINGR; + internal unsafe delegate* glBlendFuncSeparateIndexedAMD; + internal unsafe delegate* glBlendFuncSeparatei; + internal unsafe delegate* glBlendFuncSeparateiARB; + internal unsafe delegate* glBlendFunci; + internal unsafe delegate* glBlendFunciARB; + internal unsafe delegate* glBlendParameteriNV; + internal unsafe delegate* glBlitFramebuffer; + internal unsafe delegate* glBlitFramebufferEXT; + internal unsafe delegate* glBlitFramebufferLayerEXT; + internal unsafe delegate* glBlitFramebufferLayersEXT; + internal unsafe delegate* glBlitNamedFramebuffer; + internal unsafe delegate* glBufferAddressRangeNV; + internal unsafe delegate* glBufferAttachMemoryNV; + internal unsafe delegate* glBufferData; + internal unsafe delegate* glBufferDataARB; + internal unsafe delegate* glBufferPageCommitmentARB; + internal unsafe delegate* glBufferPageCommitmentMemNV; + internal unsafe delegate* glBufferParameteriAPPLE; + internal unsafe delegate* glBufferStorage; + [Obsolete("Param type uncertain", true)] internal unsafe delegate* glBufferStorageExternalEXT; + internal unsafe delegate* glBufferStorageMemEXT; + internal unsafe delegate* glBufferSubData; + internal unsafe delegate* glBufferSubDataARB; + internal unsafe delegate* glCallCommandListNV; + internal unsafe delegate* glCheckFramebufferStatus; + internal unsafe delegate* glCheckFramebufferStatusEXT; + internal unsafe delegate* glCheckNamedFramebufferStatus; + internal unsafe delegate* glCheckNamedFramebufferStatusEXT; + internal unsafe delegate* glClampColor; + internal unsafe delegate* glClampColorARB; + internal unsafe delegate* glClear; + internal unsafe delegate* glClearAccumxOES; + internal unsafe delegate* glClearBufferData; + internal unsafe delegate* glClearBufferSubData; + internal unsafe delegate* glClearBufferfi; + internal unsafe delegate* glClearBufferfv; + internal unsafe delegate* glClearBufferiv; + internal unsafe delegate* glClearBufferuiv; + internal unsafe delegate* glClearColor; + internal unsafe delegate* glClearColorIiEXT; + internal unsafe delegate* glClearColorIuiEXT; + internal unsafe delegate* glClearColorxOES; + internal unsafe delegate* glClearDepth; + internal unsafe delegate* glClearDepthdNV; + internal unsafe delegate* glClearDepthf; + internal unsafe delegate* glClearDepthfOES; + internal unsafe delegate* glClearDepthxOES; + internal unsafe delegate* glClearNamedBufferData; + internal unsafe delegate* glClearNamedBufferDataEXT; + internal unsafe delegate* glClearNamedBufferSubData; + internal unsafe delegate* glClearNamedBufferSubDataEXT; + internal unsafe delegate* glClearNamedFramebufferfi; + internal unsafe delegate* glClearNamedFramebufferfv; + internal unsafe delegate* glClearNamedFramebufferiv; + internal unsafe delegate* glClearNamedFramebufferuiv; + internal unsafe delegate* glClearStencil; + internal unsafe delegate* glClearTexImage; + internal unsafe delegate* glClearTexSubImage; + internal unsafe delegate* glClientActiveTextureARB; + internal unsafe delegate* glClientActiveVertexStreamATI; + internal unsafe delegate* glClientAttribDefaultEXT; + internal unsafe delegate* glClientWaitSemaphoreui64NVX; + internal unsafe delegate* glClientWaitSync; + internal unsafe delegate* glClipControl; + internal unsafe delegate* glClipPlanefOES; + internal unsafe delegate* glClipPlanexOES; + internal unsafe delegate* glColor3fVertex3fSUN; + internal unsafe delegate* glColor3fVertex3fvSUN; + internal unsafe delegate* glColor3hNV; + internal unsafe delegate* glColor3hvNV; + internal unsafe delegate* glColor3xOES; + internal unsafe delegate* glColor3xvOES; + internal unsafe delegate* glColor4fNormal3fVertex3fSUN; + internal unsafe delegate* glColor4fNormal3fVertex3fvSUN; + internal unsafe delegate* glColor4hNV; + internal unsafe delegate* glColor4hvNV; + internal unsafe delegate* glColor4ubVertex2fSUN; + internal unsafe delegate* glColor4ubVertex2fvSUN; + internal unsafe delegate* glColor4ubVertex3fSUN; + internal unsafe delegate* glColor4ubVertex3fvSUN; + internal unsafe delegate* glColor4xOES; + internal unsafe delegate* glColor4xvOES; + internal unsafe delegate* glColorFormatNV; + internal unsafe delegate* glColorFragmentOp1ATI; + internal unsafe delegate* glColorFragmentOp2ATI; + internal unsafe delegate* glColorFragmentOp3ATI; + internal unsafe delegate* glColorMask; + internal unsafe delegate* glColorMaskIndexedEXT; + internal unsafe delegate* glColorMaski; + internal unsafe delegate* glColorPointerEXT; + internal unsafe delegate* glColorPointerListIBM; + internal unsafe delegate* glColorPointervINTEL; + internal unsafe delegate* glColorSubTableEXT; + internal unsafe delegate* glColorTableEXT; + internal unsafe delegate* glColorTableParameterfvSGI; + internal unsafe delegate* glColorTableParameterivSGI; + internal unsafe delegate* glColorTableSGI; + internal unsafe delegate* glCombinerInputNV; + internal unsafe delegate* glCombinerOutputNV; + internal unsafe delegate* glCombinerParameterfNV; + internal unsafe delegate* glCombinerParameterfvNV; + internal unsafe delegate* glCombinerParameteriNV; + internal unsafe delegate* glCombinerParameterivNV; + internal unsafe delegate* glCombinerStageParameterfvNV; + internal unsafe delegate* glCommandListSegmentsNV; + internal unsafe delegate* glCompileCommandListNV; + internal unsafe delegate* glCompileShader; + internal unsafe delegate* glCompileShaderARB; + internal unsafe delegate* glCompileShaderIncludeARB; + internal unsafe delegate* glCompressedMultiTexImage1DEXT; + internal unsafe delegate* glCompressedMultiTexImage2DEXT; + internal unsafe delegate* glCompressedMultiTexImage3DEXT; + internal unsafe delegate* glCompressedMultiTexSubImage1DEXT; + internal unsafe delegate* glCompressedMultiTexSubImage2DEXT; + internal unsafe delegate* glCompressedMultiTexSubImage3DEXT; + internal unsafe delegate* glCompressedTexImage1D; + internal unsafe delegate* glCompressedTexImage1DARB; + internal unsafe delegate* glCompressedTexImage2D; + internal unsafe delegate* glCompressedTexImage2DARB; + internal unsafe delegate* glCompressedTexImage3D; + internal unsafe delegate* glCompressedTexImage3DARB; + internal unsafe delegate* glCompressedTexSubImage1D; + internal unsafe delegate* glCompressedTexSubImage1DARB; + internal unsafe delegate* glCompressedTexSubImage2D; + internal unsafe delegate* glCompressedTexSubImage2DARB; + internal unsafe delegate* glCompressedTexSubImage3D; + internal unsafe delegate* glCompressedTexSubImage3DARB; + internal unsafe delegate* glCompressedTextureImage1DEXT; + internal unsafe delegate* glCompressedTextureImage2DEXT; + internal unsafe delegate* glCompressedTextureImage3DEXT; + internal unsafe delegate* glCompressedTextureSubImage1D; + internal unsafe delegate* glCompressedTextureSubImage1DEXT; + internal unsafe delegate* glCompressedTextureSubImage2D; + internal unsafe delegate* glCompressedTextureSubImage2DEXT; + internal unsafe delegate* glCompressedTextureSubImage3D; + internal unsafe delegate* glCompressedTextureSubImage3DEXT; + internal unsafe delegate* glConservativeRasterParameterfNV; + internal unsafe delegate* glConservativeRasterParameteriNV; + internal unsafe delegate* glConvolutionFilter1DEXT; + internal unsafe delegate* glConvolutionFilter2DEXT; + internal unsafe delegate* glConvolutionParameterfEXT; + internal unsafe delegate* glConvolutionParameterfvEXT; + internal unsafe delegate* glConvolutionParameteriEXT; + internal unsafe delegate* glConvolutionParameterivEXT; + internal unsafe delegate* glConvolutionParameterxOES; + internal unsafe delegate* glConvolutionParameterxvOES; + internal unsafe delegate* glCopyBufferSubData; + internal unsafe delegate* glCopyColorSubTableEXT; + internal unsafe delegate* glCopyColorTableSGI; + internal unsafe delegate* glCopyConvolutionFilter1DEXT; + internal unsafe delegate* glCopyConvolutionFilter2DEXT; + internal unsafe delegate* glCopyImageSubData; + internal unsafe delegate* glCopyImageSubDataNV; + internal unsafe delegate* glCopyMultiTexImage1DEXT; + internal unsafe delegate* glCopyMultiTexImage2DEXT; + internal unsafe delegate* glCopyMultiTexSubImage1DEXT; + internal unsafe delegate* glCopyMultiTexSubImage2DEXT; + internal unsafe delegate* glCopyMultiTexSubImage3DEXT; + internal unsafe delegate* glCopyNamedBufferSubData; + internal unsafe delegate* glCopyPathNV; + internal unsafe delegate* glCopyTexImage1D; + internal unsafe delegate* glCopyTexImage1DEXT; + internal unsafe delegate* glCopyTexImage2D; + internal unsafe delegate* glCopyTexImage2DEXT; + internal unsafe delegate* glCopyTexSubImage1D; + internal unsafe delegate* glCopyTexSubImage1DEXT; + internal unsafe delegate* glCopyTexSubImage2D; + internal unsafe delegate* glCopyTexSubImage2DEXT; + internal unsafe delegate* glCopyTexSubImage3D; + internal unsafe delegate* glCopyTexSubImage3DEXT; + internal unsafe delegate* glCopyTextureImage1DEXT; + internal unsafe delegate* glCopyTextureImage2DEXT; + internal unsafe delegate* glCopyTextureSubImage1D; + internal unsafe delegate* glCopyTextureSubImage1DEXT; + internal unsafe delegate* glCopyTextureSubImage2D; + internal unsafe delegate* glCopyTextureSubImage2DEXT; + internal unsafe delegate* glCopyTextureSubImage3D; + internal unsafe delegate* glCopyTextureSubImage3DEXT; + internal unsafe delegate* glCoverFillPathInstancedNV; + internal unsafe delegate* glCoverFillPathNV; + internal unsafe delegate* glCoverStrokePathInstancedNV; + internal unsafe delegate* glCoverStrokePathNV; + internal unsafe delegate* glCoverageModulationNV; + internal unsafe delegate* glCoverageModulationTableNV; + internal unsafe delegate* glCreateBuffers; + internal unsafe delegate* glCreateCommandListsNV; + internal unsafe delegate* glCreateFramebuffers; + internal unsafe delegate* glCreateMemoryObjectsEXT; + internal unsafe delegate* glCreatePerfQueryINTEL; + internal unsafe delegate* glCreateProgram; + internal unsafe delegate* glCreateProgramObjectARB; + internal unsafe delegate* glCreateProgramPipelines; + internal unsafe delegate* glCreateProgressFenceNVX; + internal unsafe delegate* glCreateQueries; + internal unsafe delegate* glCreateRenderbuffers; + internal unsafe delegate* glCreateSamplers; + internal unsafe delegate* glCreateSemaphoresNV; + internal unsafe delegate* glCreateShader; + internal unsafe delegate* glCreateShaderObjectARB; + internal unsafe delegate* glCreateShaderProgramEXT; + internal unsafe delegate* glCreateShaderProgramv; + internal unsafe delegate* glCreateStatesNV; + internal unsafe delegate* glCreateSyncFromCLeventARB; + internal unsafe delegate* glCreateTextures; + internal unsafe delegate* glCreateTransformFeedbacks; + internal unsafe delegate* glCreateVertexArrays; + internal unsafe delegate* glCullFace; + internal unsafe delegate* glCullParameterdvEXT; + internal unsafe delegate* glCullParameterfvEXT; + internal unsafe delegate* glCurrentPaletteMatrixARB; + internal unsafe delegate* glDebugMessageCallback; + internal unsafe delegate* glDebugMessageCallbackAMD; + internal unsafe delegate* glDebugMessageCallbackARB; + internal unsafe delegate* glDebugMessageControl; + internal unsafe delegate* glDebugMessageControlARB; + internal unsafe delegate* glDebugMessageEnableAMD; + internal unsafe delegate* glDebugMessageInsert; + internal unsafe delegate* glDebugMessageInsertAMD; + internal unsafe delegate* glDebugMessageInsertARB; + internal unsafe delegate* glDeformSGIX; + internal unsafe delegate* glDeformationMap3dSGIX; + internal unsafe delegate* glDeformationMap3fSGIX; + internal unsafe delegate* glDeleteAsyncMarkersSGIX; + internal unsafe delegate* glDeleteBuffers; + internal unsafe delegate* glDeleteBuffersARB; + internal unsafe delegate* glDeleteCommandListsNV; + internal unsafe delegate* glDeleteFencesAPPLE; + internal unsafe delegate* glDeleteFencesNV; + internal unsafe delegate* glDeleteFragmentShaderATI; + internal unsafe delegate* glDeleteFramebuffers; + internal unsafe delegate* glDeleteFramebuffersEXT; + internal unsafe delegate* glDeleteMemoryObjectsEXT; + internal unsafe delegate* glDeleteNamedStringARB; + internal unsafe delegate* glDeleteNamesAMD; + internal unsafe delegate* glDeleteObjectARB; + internal unsafe delegate* glDeleteOcclusionQueriesNV; + internal unsafe delegate* glDeletePathsNV; + internal unsafe delegate* glDeletePerfMonitorsAMD; + internal unsafe delegate* glDeletePerfQueryINTEL; + internal unsafe delegate* glDeleteProgram; + internal unsafe delegate* glDeleteProgramPipelines; + internal unsafe delegate* glDeleteProgramsARB; + internal unsafe delegate* glDeleteProgramsNV; + internal unsafe delegate* glDeleteQueries; + internal unsafe delegate* glDeleteQueriesARB; + internal unsafe delegate* glDeleteQueryResourceTagNV; + internal unsafe delegate* glDeleteRenderbuffers; + internal unsafe delegate* glDeleteRenderbuffersEXT; + internal unsafe delegate* glDeleteSamplers; + internal unsafe delegate* glDeleteSemaphoresEXT; + internal unsafe delegate* glDeleteShader; + internal unsafe delegate* glDeleteStatesNV; + internal unsafe delegate* glDeleteSync; + internal unsafe delegate* glDeleteTextures; + internal unsafe delegate* glDeleteTexturesEXT; + internal unsafe delegate* glDeleteTransformFeedbacks; + internal unsafe delegate* glDeleteTransformFeedbacksNV; + internal unsafe delegate* glDeleteVertexArrays; + internal unsafe delegate* glDeleteVertexArraysAPPLE; + internal unsafe delegate* glDeleteVertexShaderEXT; + internal unsafe delegate* glDepthBoundsEXT; + internal unsafe delegate* glDepthBoundsdNV; + internal unsafe delegate* glDepthFunc; + internal unsafe delegate* glDepthMask; + internal unsafe delegate* glDepthRange; + internal unsafe delegate* glDepthRangeArraydvNV; + internal unsafe delegate* glDepthRangeArrayv; + internal unsafe delegate* glDepthRangeIndexed; + internal unsafe delegate* glDepthRangeIndexeddNV; + internal unsafe delegate* glDepthRangedNV; + internal unsafe delegate* glDepthRangef; + internal unsafe delegate* glDepthRangefOES; + internal unsafe delegate* glDepthRangexOES; + internal unsafe delegate* glDetachObjectARB; + internal unsafe delegate* glDetachShader; + internal unsafe delegate* glDetailTexFuncSGIS; + internal unsafe delegate* glDisable; + internal unsafe delegate* glDisableClientStateIndexedEXT; + internal unsafe delegate* glDisableClientStateiEXT; + internal unsafe delegate* glDisableIndexedEXT; + internal unsafe delegate* glDisableVariantClientStateEXT; + internal unsafe delegate* glDisableVertexArrayAttrib; + internal unsafe delegate* glDisableVertexArrayAttribEXT; + internal unsafe delegate* glDisableVertexArrayEXT; + internal unsafe delegate* glDisableVertexAttribAPPLE; + internal unsafe delegate* glDisableVertexAttribArray; + internal unsafe delegate* glDisableVertexAttribArrayARB; + internal unsafe delegate* glDisablei; + internal unsafe delegate* glDispatchCompute; + internal unsafe delegate* glDispatchComputeGroupSizeARB; + internal unsafe delegate* glDispatchComputeIndirect; + internal unsafe delegate* glDrawArrays; + internal unsafe delegate* glDrawArraysEXT; + internal unsafe delegate* glDrawArraysIndirect; + internal unsafe delegate* glDrawArraysInstanced; + internal unsafe delegate* glDrawArraysInstancedARB; + internal unsafe delegate* glDrawArraysInstancedBaseInstance; + internal unsafe delegate* glDrawArraysInstancedEXT; + internal unsafe delegate* glDrawBuffer; + internal unsafe delegate* glDrawBuffers; + internal unsafe delegate* glDrawBuffersARB; + internal unsafe delegate* glDrawBuffersATI; + internal unsafe delegate* glDrawCommandsAddressNV; + internal unsafe delegate* glDrawCommandsNV; + internal unsafe delegate* glDrawCommandsStatesAddressNV; + internal unsafe delegate* glDrawCommandsStatesNV; + internal unsafe delegate* glDrawElementArrayAPPLE; + internal unsafe delegate* glDrawElementArrayATI; + internal unsafe delegate* glDrawElements; + internal unsafe delegate* glDrawElementsBaseVertex; + internal unsafe delegate* glDrawElementsIndirect; + internal unsafe delegate* glDrawElementsInstanced; + internal unsafe delegate* glDrawElementsInstancedARB; + internal unsafe delegate* glDrawElementsInstancedBaseInstance; + internal unsafe delegate* glDrawElementsInstancedBaseVertex; + internal unsafe delegate* glDrawElementsInstancedBaseVertexBaseInstance; + internal unsafe delegate* glDrawElementsInstancedEXT; + internal unsafe delegate* glDrawMeshArraysSUN; + internal unsafe delegate* glDrawMeshTasksIndirectNV; + internal unsafe delegate* glDrawMeshTasksNV; + internal unsafe delegate* glDrawRangeElementArrayAPPLE; + internal unsafe delegate* glDrawRangeElementArrayATI; + internal unsafe delegate* glDrawRangeElements; + internal unsafe delegate* glDrawRangeElementsBaseVertex; + internal unsafe delegate* glDrawRangeElementsEXT; + internal unsafe delegate* glDrawTextureNV; + internal unsafe delegate* glDrawTransformFeedback; + internal unsafe delegate* glDrawTransformFeedbackInstanced; + internal unsafe delegate* glDrawTransformFeedbackNV; + internal unsafe delegate* glDrawTransformFeedbackStream; + internal unsafe delegate* glDrawTransformFeedbackStreamInstanced; + internal unsafe delegate* glDrawVkImageNV; + internal unsafe delegate* glEGLImageTargetTexStorageEXT; + internal unsafe delegate* glEGLImageTargetTextureStorageEXT; + internal unsafe delegate* glEdgeFlagFormatNV; + internal unsafe delegate* glEdgeFlagPointerEXT; + internal unsafe delegate* glEdgeFlagPointerListIBM; + internal unsafe delegate* glElementPointerAPPLE; + internal unsafe delegate* glElementPointerATI; + internal unsafe delegate* glEnable; + internal unsafe delegate* glEnableClientStateIndexedEXT; + internal unsafe delegate* glEnableClientStateiEXT; + internal unsafe delegate* glEnableIndexedEXT; + internal unsafe delegate* glEnableVariantClientStateEXT; + internal unsafe delegate* glEnableVertexArrayAttrib; + internal unsafe delegate* glEnableVertexArrayAttribEXT; + internal unsafe delegate* glEnableVertexArrayEXT; + internal unsafe delegate* glEnableVertexAttribAPPLE; + internal unsafe delegate* glEnableVertexAttribArray; + internal unsafe delegate* glEnableVertexAttribArrayARB; + internal unsafe delegate* glEnablei; + internal unsafe delegate* glEndConditionalRender; + internal unsafe delegate* glEndConditionalRenderNV; + internal unsafe delegate* glEndConditionalRenderNVX; + internal unsafe delegate* glEndFragmentShaderATI; + internal unsafe delegate* glEndOcclusionQueryNV; + internal unsafe delegate* glEndPerfMonitorAMD; + internal unsafe delegate* glEndPerfQueryINTEL; + internal unsafe delegate* glEndQuery; + internal unsafe delegate* glEndQueryARB; + internal unsafe delegate* glEndQueryIndexed; + internal unsafe delegate* glEndTransformFeedback; + internal unsafe delegate* glEndTransformFeedbackEXT; + internal unsafe delegate* glEndTransformFeedbackNV; + internal unsafe delegate* glEndVertexShaderEXT; + internal unsafe delegate* glEndVideoCaptureNV; + internal unsafe delegate* glEvalCoord1xOES; + internal unsafe delegate* glEvalCoord1xvOES; + internal unsafe delegate* glEvalCoord2xOES; + internal unsafe delegate* glEvalCoord2xvOES; + internal unsafe delegate* glEvalMapsNV; + internal unsafe delegate* glEvaluateDepthValuesARB; + internal unsafe delegate* glExecuteProgramNV; + internal unsafe delegate* glExtractComponentEXT; + internal unsafe delegate* glFeedbackBufferxOES; + internal unsafe delegate* glFenceSync; + internal unsafe delegate* glFinalCombinerInputNV; + internal unsafe delegate* glFinish; + internal unsafe delegate* glFinishAsyncSGIX; + internal unsafe delegate* glFinishFenceAPPLE; + internal unsafe delegate* glFinishFenceNV; + internal unsafe delegate* glFinishObjectAPPLE; + internal unsafe delegate* glFinishTextureSUNX; + internal unsafe delegate* glFlush; + internal unsafe delegate* glFlushMappedBufferRange; + internal unsafe delegate* glFlushMappedBufferRangeAPPLE; + internal unsafe delegate* glFlushMappedNamedBufferRange; + internal unsafe delegate* glFlushMappedNamedBufferRangeEXT; + internal unsafe delegate* glFlushPixelDataRangeNV; + internal unsafe delegate* glFlushRasterSGIX; + internal unsafe delegate* glFlushStaticDataIBM; + internal unsafe delegate* glFlushVertexArrayRangeAPPLE; + internal unsafe delegate* glFlushVertexArrayRangeNV; + internal unsafe delegate* glFogCoordFormatNV; + internal unsafe delegate* glFogCoordPointerEXT; + internal unsafe delegate* glFogCoordPointerListIBM; + internal unsafe delegate* glFogCoorddEXT; + internal unsafe delegate* glFogCoorddvEXT; + internal unsafe delegate* glFogCoordfEXT; + internal unsafe delegate* glFogCoordfvEXT; + internal unsafe delegate* glFogCoordhNV; + internal unsafe delegate* glFogCoordhvNV; + internal unsafe delegate* glFogFuncSGIS; + internal unsafe delegate* glFogxOES; + internal unsafe delegate* glFogxvOES; + internal unsafe delegate* glFragmentColorMaterialSGIX; + internal unsafe delegate* glFragmentCoverageColorNV; + internal unsafe delegate* glFragmentLightModelfSGIX; + internal unsafe delegate* glFragmentLightModelfvSGIX; + internal unsafe delegate* glFragmentLightModeliSGIX; + internal unsafe delegate* glFragmentLightModelivSGIX; + internal unsafe delegate* glFragmentLightfSGIX; + internal unsafe delegate* glFragmentLightfvSGIX; + internal unsafe delegate* glFragmentLightiSGIX; + internal unsafe delegate* glFragmentLightivSGIX; + internal unsafe delegate* glFragmentMaterialfSGIX; + internal unsafe delegate* glFragmentMaterialfvSGIX; + internal unsafe delegate* glFragmentMaterialiSGIX; + internal unsafe delegate* glFragmentMaterialivSGIX; + internal unsafe delegate* glFrameTerminatorGREMEDY; + internal unsafe delegate* glFrameZoomSGIX; + internal unsafe delegate* glFramebufferDrawBufferEXT; + internal unsafe delegate* glFramebufferDrawBuffersEXT; + internal unsafe delegate* glFramebufferFetchBarrierEXT; + internal unsafe delegate* glFramebufferParameteri; + internal unsafe delegate* glFramebufferParameteriMESA; + internal unsafe delegate* glFramebufferReadBufferEXT; + internal unsafe delegate* glFramebufferRenderbuffer; + internal unsafe delegate* glFramebufferRenderbufferEXT; + internal unsafe delegate* glFramebufferSampleLocationsfvARB; + internal unsafe delegate* glFramebufferSampleLocationsfvNV; + internal unsafe delegate* glFramebufferSamplePositionsfvAMD; + internal unsafe delegate* glFramebufferTexture; + internal unsafe delegate* glFramebufferTexture1D; + internal unsafe delegate* glFramebufferTexture1DEXT; + internal unsafe delegate* glFramebufferTexture2D; + internal unsafe delegate* glFramebufferTexture2DEXT; + internal unsafe delegate* glFramebufferTexture3D; + internal unsafe delegate* glFramebufferTexture3DEXT; + internal unsafe delegate* glFramebufferTextureARB; + internal unsafe delegate* glFramebufferTextureEXT; + internal unsafe delegate* glFramebufferTextureFaceARB; + internal unsafe delegate* glFramebufferTextureFaceEXT; + internal unsafe delegate* glFramebufferTextureLayer; + internal unsafe delegate* glFramebufferTextureLayerARB; + internal unsafe delegate* glFramebufferTextureLayerEXT; + internal unsafe delegate* glFramebufferTextureMultiviewOVR; + internal unsafe delegate* glFreeObjectBufferATI; + internal unsafe delegate* glFrontFace; + internal unsafe delegate* glFrustumfOES; + internal unsafe delegate* glFrustumxOES; + internal unsafe delegate* glGenAsyncMarkersSGIX; + internal unsafe delegate* glGenBuffers; + internal unsafe delegate* glGenBuffersARB; + internal unsafe delegate* glGenFencesAPPLE; + internal unsafe delegate* glGenFencesNV; + internal unsafe delegate* glGenFragmentShadersATI; + internal unsafe delegate* glGenFramebuffers; + internal unsafe delegate* glGenFramebuffersEXT; + internal unsafe delegate* glGenNamesAMD; + internal unsafe delegate* glGenOcclusionQueriesNV; + internal unsafe delegate* glGenPathsNV; + internal unsafe delegate* glGenPerfMonitorsAMD; + internal unsafe delegate* glGenProgramPipelines; + internal unsafe delegate* glGenProgramsARB; + internal unsafe delegate* glGenProgramsNV; + internal unsafe delegate* glGenQueries; + internal unsafe delegate* glGenQueriesARB; + internal unsafe delegate* glGenQueryResourceTagNV; + internal unsafe delegate* glGenRenderbuffers; + internal unsafe delegate* glGenRenderbuffersEXT; + internal unsafe delegate* glGenSamplers; + internal unsafe delegate* glGenSemaphoresEXT; + internal unsafe delegate* glGenSymbolsEXT; + internal unsafe delegate* glGenTextures; + internal unsafe delegate* glGenTexturesEXT; + internal unsafe delegate* glGenTransformFeedbacks; + internal unsafe delegate* glGenTransformFeedbacksNV; + internal unsafe delegate* glGenVertexArrays; + internal unsafe delegate* glGenVertexArraysAPPLE; + internal unsafe delegate* glGenVertexShadersEXT; + internal unsafe delegate* glGenerateMipmap; + internal unsafe delegate* glGenerateMipmapEXT; + internal unsafe delegate* glGenerateMultiTexMipmapEXT; + internal unsafe delegate* glGenerateTextureMipmap; + internal unsafe delegate* glGenerateTextureMipmapEXT; + internal unsafe delegate* glGetActiveAtomicCounterBufferiv; + internal unsafe delegate* glGetActiveAttrib; + internal unsafe delegate* glGetActiveAttribARB; + internal unsafe delegate* glGetActiveSubroutineName; + internal unsafe delegate* glGetActiveSubroutineUniformName; + internal unsafe delegate* glGetActiveSubroutineUniformiv; + internal unsafe delegate* glGetActiveUniform; + internal unsafe delegate* glGetActiveUniformARB; + internal unsafe delegate* glGetActiveUniformBlockName; + internal unsafe delegate* glGetActiveUniformBlockiv; + internal unsafe delegate* glGetActiveUniformName; + internal unsafe delegate* glGetActiveUniformsiv; + internal unsafe delegate* glGetActiveVaryingNV; + internal unsafe delegate* glGetArrayObjectfvATI; + internal unsafe delegate* glGetArrayObjectivATI; + internal unsafe delegate* glGetAttachedObjectsARB; + internal unsafe delegate* glGetAttachedShaders; + internal unsafe delegate* glGetAttribLocation; + internal unsafe delegate* glGetAttribLocationARB; + internal unsafe delegate* glGetBooleanIndexedvEXT; + internal unsafe delegate* glGetBooleani_v; + internal unsafe delegate* glGetBooleanv; + internal unsafe delegate* glGetBufferParameteri64v; + internal unsafe delegate* glGetBufferParameteriv; + internal unsafe delegate* glGetBufferParameterivARB; + internal unsafe delegate* glGetBufferParameterui64vNV; + internal unsafe delegate* glGetBufferPointerv; + internal unsafe delegate* glGetBufferPointervARB; + internal unsafe delegate* glGetBufferSubData; + internal unsafe delegate* glGetBufferSubDataARB; + internal unsafe delegate* glGetClipPlanefOES; + internal unsafe delegate* glGetClipPlanexOES; + internal unsafe delegate* glGetColorTableEXT; + internal unsafe delegate* glGetColorTableParameterfvEXT; + internal unsafe delegate* glGetColorTableParameterfvSGI; + internal unsafe delegate* glGetColorTableParameterivEXT; + internal unsafe delegate* glGetColorTableParameterivSGI; + internal unsafe delegate* glGetColorTableSGI; + internal unsafe delegate* glGetCombinerInputParameterfvNV; + internal unsafe delegate* glGetCombinerInputParameterivNV; + internal unsafe delegate* glGetCombinerOutputParameterfvNV; + internal unsafe delegate* glGetCombinerOutputParameterivNV; + internal unsafe delegate* glGetCombinerStageParameterfvNV; + internal unsafe delegate* glGetCommandHeaderNV; + internal unsafe delegate* glGetCompressedMultiTexImageEXT; + internal unsafe delegate* glGetCompressedTexImage; + internal unsafe delegate* glGetCompressedTexImageARB; + internal unsafe delegate* glGetCompressedTextureImage; + internal unsafe delegate* glGetCompressedTextureImageEXT; + internal unsafe delegate* glGetCompressedTextureSubImage; + internal unsafe delegate* glGetConvolutionFilterEXT; + internal unsafe delegate* glGetConvolutionParameterfvEXT; + internal unsafe delegate* glGetConvolutionParameterivEXT; + internal unsafe delegate* glGetConvolutionParameterxvOES; + internal unsafe delegate* glGetCoverageModulationTableNV; + internal unsafe delegate* glGetDebugMessageLog; + internal unsafe delegate* glGetDebugMessageLogAMD; + internal unsafe delegate* glGetDebugMessageLogARB; + internal unsafe delegate* glGetDetailTexFuncSGIS; + internal unsafe delegate* glGetDoubleIndexedvEXT; + internal unsafe delegate* glGetDoublei_v; + internal unsafe delegate* glGetDoublei_vEXT; + internal unsafe delegate* glGetDoublev; + internal unsafe delegate* glGetError; + internal unsafe delegate* glGetFenceivNV; + internal unsafe delegate* glGetFinalCombinerInputParameterfvNV; + internal unsafe delegate* glGetFinalCombinerInputParameterivNV; + internal unsafe delegate* glGetFirstPerfQueryIdINTEL; + internal unsafe delegate* glGetFixedvOES; + internal unsafe delegate* glGetFloatIndexedvEXT; + internal unsafe delegate* glGetFloati_v; + internal unsafe delegate* glGetFloati_vEXT; + internal unsafe delegate* glGetFloatv; + internal unsafe delegate* glGetFogFuncSGIS; + internal unsafe delegate* glGetFragDataIndex; + internal unsafe delegate* glGetFragDataLocation; + internal unsafe delegate* glGetFragDataLocationEXT; + internal unsafe delegate* glGetFragmentLightfvSGIX; + internal unsafe delegate* glGetFragmentLightivSGIX; + internal unsafe delegate* glGetFragmentMaterialfvSGIX; + internal unsafe delegate* glGetFragmentMaterialivSGIX; + internal unsafe delegate* glGetFramebufferAttachmentParameteriv; + internal unsafe delegate* glGetFramebufferAttachmentParameterivEXT; + internal unsafe delegate* glGetFramebufferParameterfvAMD; + internal unsafe delegate* glGetFramebufferParameteriv; + internal unsafe delegate* glGetFramebufferParameterivEXT; + internal unsafe delegate* glGetFramebufferParameterivMESA; + internal unsafe delegate* glGetGraphicsResetStatus; + internal unsafe delegate* glGetGraphicsResetStatusARB; + internal unsafe delegate* glGetHandleARB; + internal unsafe delegate* glGetHistogramEXT; + internal unsafe delegate* glGetHistogramParameterfvEXT; + internal unsafe delegate* glGetHistogramParameterivEXT; + internal unsafe delegate* glGetHistogramParameterxvOES; + internal unsafe delegate* glGetImageHandleARB; + internal unsafe delegate* glGetImageHandleNV; + internal unsafe delegate* glGetImageTransformParameterfvHP; + internal unsafe delegate* glGetImageTransformParameterivHP; + internal unsafe delegate* glGetInfoLogARB; + internal unsafe delegate* glGetInstrumentsSGIX; + internal unsafe delegate* glGetInteger64i_v; + internal unsafe delegate* glGetInteger64v; + internal unsafe delegate* glGetIntegerIndexedvEXT; + internal unsafe delegate* glGetIntegeri_v; + internal unsafe delegate* glGetIntegerui64i_vNV; + internal unsafe delegate* glGetIntegerui64vNV; + internal unsafe delegate* glGetIntegerv; + internal unsafe delegate* glGetInternalformatSampleivNV; + internal unsafe delegate* glGetInternalformati64v; + internal unsafe delegate* glGetInternalformativ; + internal unsafe delegate* glGetInvariantBooleanvEXT; + internal unsafe delegate* glGetInvariantFloatvEXT; + internal unsafe delegate* glGetInvariantIntegervEXT; + internal unsafe delegate* glGetLightxOES; + internal unsafe delegate* glGetListParameterfvSGIX; + internal unsafe delegate* glGetListParameterivSGIX; + internal unsafe delegate* glGetLocalConstantBooleanvEXT; + internal unsafe delegate* glGetLocalConstantFloatvEXT; + internal unsafe delegate* glGetLocalConstantIntegervEXT; + internal unsafe delegate* glGetMapAttribParameterfvNV; + internal unsafe delegate* glGetMapAttribParameterivNV; + internal unsafe delegate* glGetMapControlPointsNV; + internal unsafe delegate* glGetMapParameterfvNV; + internal unsafe delegate* glGetMapParameterivNV; + internal unsafe delegate* glGetMapxvOES; + internal unsafe delegate* glGetMaterialxOES; + internal unsafe delegate* glGetMemoryObjectDetachedResourcesuivNV; + internal unsafe delegate* glGetMemoryObjectParameterivEXT; + internal unsafe delegate* glGetMinmaxEXT; + internal unsafe delegate* glGetMinmaxParameterfvEXT; + internal unsafe delegate* glGetMinmaxParameterivEXT; + internal unsafe delegate* glGetMultiTexEnvfvEXT; + internal unsafe delegate* glGetMultiTexEnvivEXT; + internal unsafe delegate* glGetMultiTexGendvEXT; + internal unsafe delegate* glGetMultiTexGenfvEXT; + internal unsafe delegate* glGetMultiTexGenivEXT; + internal unsafe delegate* glGetMultiTexImageEXT; + internal unsafe delegate* glGetMultiTexLevelParameterfvEXT; + internal unsafe delegate* glGetMultiTexLevelParameterivEXT; + internal unsafe delegate* glGetMultiTexParameterIivEXT; + internal unsafe delegate* glGetMultiTexParameterIuivEXT; + internal unsafe delegate* glGetMultiTexParameterfvEXT; + internal unsafe delegate* glGetMultiTexParameterivEXT; + internal unsafe delegate* glGetMultisamplefv; + internal unsafe delegate* glGetMultisamplefvNV; + internal unsafe delegate* glGetNamedBufferParameteri64v; + internal unsafe delegate* glGetNamedBufferParameteriv; + internal unsafe delegate* glGetNamedBufferParameterivEXT; + internal unsafe delegate* glGetNamedBufferParameterui64vNV; + internal unsafe delegate* glGetNamedBufferPointerv; + internal unsafe delegate* glGetNamedBufferPointervEXT; + internal unsafe delegate* glGetNamedBufferSubData; + internal unsafe delegate* glGetNamedBufferSubDataEXT; + internal unsafe delegate* glGetNamedFramebufferAttachmentParameteriv; + internal unsafe delegate* glGetNamedFramebufferAttachmentParameterivEXT; + internal unsafe delegate* glGetNamedFramebufferParameterfvAMD; + internal unsafe delegate* glGetNamedFramebufferParameteriv; + internal unsafe delegate* glGetNamedFramebufferParameterivEXT; + internal unsafe delegate* glGetNamedProgramLocalParameterIivEXT; + internal unsafe delegate* glGetNamedProgramLocalParameterIuivEXT; + internal unsafe delegate* glGetNamedProgramLocalParameterdvEXT; + internal unsafe delegate* glGetNamedProgramLocalParameterfvEXT; + internal unsafe delegate* glGetNamedProgramStringEXT; + internal unsafe delegate* glGetNamedProgramivEXT; + internal unsafe delegate* glGetNamedRenderbufferParameteriv; + internal unsafe delegate* glGetNamedRenderbufferParameterivEXT; + internal unsafe delegate* glGetNamedStringARB; + internal unsafe delegate* glGetNamedStringivARB; + internal unsafe delegate* glGetNextPerfQueryIdINTEL; + internal unsafe delegate* glGetObjectBufferfvATI; + internal unsafe delegate* glGetObjectBufferivATI; + internal unsafe delegate* glGetObjectLabel; + internal unsafe delegate* glGetObjectLabelEXT; + internal unsafe delegate* glGetObjectParameterfvARB; + internal unsafe delegate* glGetObjectParameterivAPPLE; + internal unsafe delegate* glGetObjectParameterivARB; + internal unsafe delegate* glGetObjectPtrLabel; + internal unsafe delegate* glGetOcclusionQueryivNV; + internal unsafe delegate* glGetOcclusionQueryuivNV; + internal unsafe delegate* glGetPathCommandsNV; + internal unsafe delegate* glGetPathCoordsNV; + internal unsafe delegate* glGetPathDashArrayNV; + internal unsafe delegate* glGetPathLengthNV; + internal unsafe delegate* glGetPathMetricRangeNV; + internal unsafe delegate* glGetPathMetricsNV; + internal unsafe delegate* glGetPathParameterfvNV; + internal unsafe delegate* glGetPathParameterivNV; + internal unsafe delegate* glGetPathSpacingNV; + internal unsafe delegate* glGetPerfCounterInfoINTEL; + internal unsafe delegate* glGetPerfMonitorCounterDataAMD; + internal unsafe delegate* glGetPerfMonitorCounterInfoAMD; + internal unsafe delegate* glGetPerfMonitorCounterStringAMD; + internal unsafe delegate* glGetPerfMonitorCountersAMD; + internal unsafe delegate* glGetPerfMonitorGroupStringAMD; + internal unsafe delegate* glGetPerfMonitorGroupsAMD; + internal unsafe delegate* glGetPerfQueryDataINTEL; + internal unsafe delegate* glGetPerfQueryIdByNameINTEL; + internal unsafe delegate* glGetPerfQueryInfoINTEL; + internal unsafe delegate* glGetPixelMapxv; + internal unsafe delegate* glGetPixelTexGenParameterfvSGIS; + internal unsafe delegate* glGetPixelTexGenParameterivSGIS; + internal unsafe delegate* glGetPixelTransformParameterfvEXT; + internal unsafe delegate* glGetPixelTransformParameterivEXT; + internal unsafe delegate* glGetPointerIndexedvEXT; + internal unsafe delegate* glGetPointeri_vEXT; + internal unsafe delegate* glGetPointerv; + internal unsafe delegate* glGetPointervEXT; + internal unsafe delegate* glGetProgramBinary; + internal unsafe delegate* glGetProgramEnvParameterIivNV; + internal unsafe delegate* glGetProgramEnvParameterIuivNV; + internal unsafe delegate* glGetProgramEnvParameterdvARB; + internal unsafe delegate* glGetProgramEnvParameterfvARB; + internal unsafe delegate* glGetProgramInfoLog; + internal unsafe delegate* glGetProgramInterfaceiv; + internal unsafe delegate* glGetProgramLocalParameterIivNV; + internal unsafe delegate* glGetProgramLocalParameterIuivNV; + internal unsafe delegate* glGetProgramLocalParameterdvARB; + internal unsafe delegate* glGetProgramLocalParameterfvARB; + internal unsafe delegate* glGetProgramNamedParameterdvNV; + internal unsafe delegate* glGetProgramNamedParameterfvNV; + internal unsafe delegate* glGetProgramParameterdvNV; + internal unsafe delegate* glGetProgramParameterfvNV; + internal unsafe delegate* glGetProgramPipelineInfoLog; + internal unsafe delegate* glGetProgramPipelineiv; + internal unsafe delegate* glGetProgramResourceIndex; + internal unsafe delegate* glGetProgramResourceLocation; + internal unsafe delegate* glGetProgramResourceLocationIndex; + internal unsafe delegate* glGetProgramResourceName; + internal unsafe delegate* glGetProgramResourcefvNV; + internal unsafe delegate* glGetProgramResourceiv; + internal unsafe delegate* glGetProgramStageiv; + internal unsafe delegate* glGetProgramStringARB; + internal unsafe delegate* glGetProgramStringNV; + internal unsafe delegate* glGetProgramSubroutineParameteruivNV; + internal unsafe delegate* glGetProgramiv; + internal unsafe delegate* glGetProgramivARB; + internal unsafe delegate* glGetProgramivNV; + internal unsafe delegate* glGetQueryBufferObjecti64v; + internal unsafe delegate* glGetQueryBufferObjectiv; + internal unsafe delegate* glGetQueryBufferObjectui64v; + internal unsafe delegate* glGetQueryBufferObjectuiv; + internal unsafe delegate* glGetQueryIndexediv; + internal unsafe delegate* glGetQueryObjecti64v; + internal unsafe delegate* glGetQueryObjecti64vEXT; + internal unsafe delegate* glGetQueryObjectiv; + internal unsafe delegate* glGetQueryObjectivARB; + internal unsafe delegate* glGetQueryObjectui64v; + internal unsafe delegate* glGetQueryObjectui64vEXT; + internal unsafe delegate* glGetQueryObjectuiv; + internal unsafe delegate* glGetQueryObjectuivARB; + internal unsafe delegate* glGetQueryiv; + internal unsafe delegate* glGetQueryivARB; + internal unsafe delegate* glGetRenderbufferParameteriv; + internal unsafe delegate* glGetRenderbufferParameterivEXT; + internal unsafe delegate* glGetSamplerParameterIiv; + internal unsafe delegate* glGetSamplerParameterIuiv; + internal unsafe delegate* glGetSamplerParameterfv; + internal unsafe delegate* glGetSamplerParameteriv; + internal unsafe delegate* glGetSemaphoreParameterivNV; + internal unsafe delegate* glGetSemaphoreParameterui64vEXT; + internal unsafe delegate* glGetSeparableFilterEXT; + internal unsafe delegate* glGetShaderInfoLog; + internal unsafe delegate* glGetShaderPrecisionFormat; + internal unsafe delegate* glGetShaderSource; + internal unsafe delegate* glGetShaderSourceARB; + internal unsafe delegate* glGetShaderiv; + internal unsafe delegate* glGetShadingRateImagePaletteNV; + internal unsafe delegate* glGetShadingRateSampleLocationivNV; + internal unsafe delegate* glGetSharpenTexFuncSGIS; + internal unsafe delegate* glGetStageIndexNV; + internal unsafe delegate* glGetString; + internal unsafe delegate* glGetStringi; + internal unsafe delegate* glGetSubroutineIndex; + internal unsafe delegate* glGetSubroutineUniformLocation; + internal unsafe delegate* glGetSynciv; + internal unsafe delegate* glGetTexBumpParameterfvATI; + internal unsafe delegate* glGetTexBumpParameterivATI; + internal unsafe delegate* glGetTexEnvxvOES; + internal unsafe delegate* glGetTexFilterFuncSGIS; + internal unsafe delegate* glGetTexGenxvOES; + internal unsafe delegate* glGetTexImage; + internal unsafe delegate* glGetTexLevelParameterfv; + internal unsafe delegate* glGetTexLevelParameteriv; + internal unsafe delegate* glGetTexLevelParameterxvOES; + internal unsafe delegate* glGetTexParameterIiv; + internal unsafe delegate* glGetTexParameterIivEXT; + internal unsafe delegate* glGetTexParameterIuiv; + internal unsafe delegate* glGetTexParameterIuivEXT; + internal unsafe delegate* glGetTexParameterPointervAPPLE; + internal unsafe delegate* glGetTexParameterfv; + internal unsafe delegate* glGetTexParameteriv; + internal unsafe delegate* glGetTexParameterxvOES; + internal unsafe delegate* glGetTextureHandleARB; + internal unsafe delegate* glGetTextureHandleNV; + internal unsafe delegate* glGetTextureImage; + internal unsafe delegate* glGetTextureImageEXT; + internal unsafe delegate* glGetTextureLevelParameterfv; + internal unsafe delegate* glGetTextureLevelParameterfvEXT; + internal unsafe delegate* glGetTextureLevelParameteriv; + internal unsafe delegate* glGetTextureLevelParameterivEXT; + internal unsafe delegate* glGetTextureParameterIiv; + internal unsafe delegate* glGetTextureParameterIivEXT; + internal unsafe delegate* glGetTextureParameterIuiv; + internal unsafe delegate* glGetTextureParameterIuivEXT; + internal unsafe delegate* glGetTextureParameterfv; + internal unsafe delegate* glGetTextureParameterfvEXT; + internal unsafe delegate* glGetTextureParameteriv; + internal unsafe delegate* glGetTextureParameterivEXT; + internal unsafe delegate* glGetTextureSamplerHandleARB; + internal unsafe delegate* glGetTextureSamplerHandleNV; + internal unsafe delegate* glGetTextureSubImage; + internal unsafe delegate* glGetTrackMatrixivNV; + internal unsafe delegate* glGetTransformFeedbackVarying; + internal unsafe delegate* glGetTransformFeedbackVaryingEXT; + internal unsafe delegate* glGetTransformFeedbackVaryingNV; + internal unsafe delegate* glGetTransformFeedbacki64_v; + internal unsafe delegate* glGetTransformFeedbacki_v; + internal unsafe delegate* glGetTransformFeedbackiv; + internal unsafe delegate* glGetUniformBlockIndex; + internal unsafe delegate* glGetUniformBufferSizeEXT; + internal unsafe delegate* glGetUniformIndices; + internal unsafe delegate* glGetUniformLocation; + internal unsafe delegate* glGetUniformLocationARB; + internal unsafe delegate* glGetUniformOffsetEXT; + internal unsafe delegate* glGetUniformSubroutineuiv; + internal unsafe delegate* glGetUniformdv; + internal unsafe delegate* glGetUniformfv; + internal unsafe delegate* glGetUniformfvARB; + internal unsafe delegate* glGetUniformi64vARB; + internal unsafe delegate* glGetUniformi64vNV; + internal unsafe delegate* glGetUniformiv; + internal unsafe delegate* glGetUniformivARB; + internal unsafe delegate* glGetUniformui64vARB; + internal unsafe delegate* glGetUniformui64vNV; + internal unsafe delegate* glGetUniformuiv; + internal unsafe delegate* glGetUniformuivEXT; + internal unsafe delegate* glGetUnsignedBytei_vEXT; + internal unsafe delegate* glGetUnsignedBytevEXT; + internal unsafe delegate* glGetVariantArrayObjectfvATI; + internal unsafe delegate* glGetVariantArrayObjectivATI; + internal unsafe delegate* glGetVariantBooleanvEXT; + internal unsafe delegate* glGetVariantFloatvEXT; + internal unsafe delegate* glGetVariantIntegervEXT; + internal unsafe delegate* glGetVariantPointervEXT; + internal unsafe delegate* glGetVaryingLocationNV; + internal unsafe delegate* glGetVertexArrayIndexed64iv; + internal unsafe delegate* glGetVertexArrayIndexediv; + internal unsafe delegate* glGetVertexArrayIntegeri_vEXT; + internal unsafe delegate* glGetVertexArrayIntegervEXT; + internal unsafe delegate* glGetVertexArrayPointeri_vEXT; + internal unsafe delegate* glGetVertexArrayPointervEXT; + internal unsafe delegate* glGetVertexArrayiv; + internal unsafe delegate* glGetVertexAttribArrayObjectfvATI; + internal unsafe delegate* glGetVertexAttribArrayObjectivATI; + internal unsafe delegate* glGetVertexAttribIiv; + internal unsafe delegate* glGetVertexAttribIivEXT; + internal unsafe delegate* glGetVertexAttribIuiv; + internal unsafe delegate* glGetVertexAttribIuivEXT; + internal unsafe delegate* glGetVertexAttribLdv; + internal unsafe delegate* glGetVertexAttribLdvEXT; + internal unsafe delegate* glGetVertexAttribLi64vNV; + internal unsafe delegate* glGetVertexAttribLui64vARB; + internal unsafe delegate* glGetVertexAttribLui64vNV; + internal unsafe delegate* glGetVertexAttribPointerv; + internal unsafe delegate* glGetVertexAttribPointervARB; + internal unsafe delegate* glGetVertexAttribPointervNV; + internal unsafe delegate* glGetVertexAttribdv; + internal unsafe delegate* glGetVertexAttribdvARB; + internal unsafe delegate* glGetVertexAttribdvNV; + internal unsafe delegate* glGetVertexAttribfv; + internal unsafe delegate* glGetVertexAttribfvARB; + internal unsafe delegate* glGetVertexAttribfvNV; + internal unsafe delegate* glGetVertexAttribiv; + internal unsafe delegate* glGetVertexAttribivARB; + internal unsafe delegate* glGetVertexAttribivNV; + internal unsafe delegate* glGetVideoCaptureStreamdvNV; + internal unsafe delegate* glGetVideoCaptureStreamfvNV; + internal unsafe delegate* glGetVideoCaptureStreamivNV; + internal unsafe delegate* glGetVideoCaptureivNV; + internal unsafe delegate* glGetVideoi64vNV; + internal unsafe delegate* glGetVideoivNV; + internal unsafe delegate* glGetVideoui64vNV; + internal unsafe delegate* glGetVideouivNV; + internal unsafe delegate* glGetVkProcAddrNV; + internal unsafe delegate* glGetnCompressedTexImage; + internal unsafe delegate* glGetnCompressedTexImageARB; + internal unsafe delegate* glGetnTexImage; + internal unsafe delegate* glGetnTexImageARB; + internal unsafe delegate* glGetnUniformdv; + internal unsafe delegate* glGetnUniformdvARB; + internal unsafe delegate* glGetnUniformfv; + internal unsafe delegate* glGetnUniformfvARB; + internal unsafe delegate* glGetnUniformi64vARB; + internal unsafe delegate* glGetnUniformiv; + internal unsafe delegate* glGetnUniformivARB; + internal unsafe delegate* glGetnUniformui64vARB; + internal unsafe delegate* glGetnUniformuiv; + internal unsafe delegate* glGetnUniformuivARB; + internal unsafe delegate* glGlobalAlphaFactorbSUN; + internal unsafe delegate* glGlobalAlphaFactordSUN; + internal unsafe delegate* glGlobalAlphaFactorfSUN; + internal unsafe delegate* glGlobalAlphaFactoriSUN; + internal unsafe delegate* glGlobalAlphaFactorsSUN; + internal unsafe delegate* glGlobalAlphaFactorubSUN; + internal unsafe delegate* glGlobalAlphaFactoruiSUN; + internal unsafe delegate* glGlobalAlphaFactorusSUN; + internal unsafe delegate* glHint; + internal unsafe delegate* glHintPGI; + internal unsafe delegate* glHistogramEXT; + internal unsafe delegate* glIglooInterfaceSGIX; + internal unsafe delegate* glImageTransformParameterfHP; + internal unsafe delegate* glImageTransformParameterfvHP; + internal unsafe delegate* glImageTransformParameteriHP; + internal unsafe delegate* glImageTransformParameterivHP; + internal unsafe delegate* glImportMemoryFdEXT; + internal unsafe delegate* glImportMemoryWin32HandleEXT; + internal unsafe delegate* glImportMemoryWin32NameEXT; + internal unsafe delegate* glImportSemaphoreFdEXT; + internal unsafe delegate* glImportSemaphoreWin32HandleEXT; + internal unsafe delegate* glImportSemaphoreWin32NameEXT; + internal unsafe delegate* glImportSyncEXT; + internal unsafe delegate* glIndexFormatNV; + internal unsafe delegate* glIndexFuncEXT; + internal unsafe delegate* glIndexMaterialEXT; + internal unsafe delegate* glIndexPointerEXT; + internal unsafe delegate* glIndexPointerListIBM; + internal unsafe delegate* glIndexxOES; + internal unsafe delegate* glIndexxvOES; + internal unsafe delegate* glInsertComponentEXT; + internal unsafe delegate* glInsertEventMarkerEXT; + internal unsafe delegate* glInstrumentsBufferSGIX; + internal unsafe delegate* glInterpolatePathsNV; + internal unsafe delegate* glInvalidateBufferData; + internal unsafe delegate* glInvalidateBufferSubData; + internal unsafe delegate* glInvalidateFramebuffer; + internal unsafe delegate* glInvalidateNamedFramebufferData; + internal unsafe delegate* glInvalidateNamedFramebufferSubData; + internal unsafe delegate* glInvalidateSubFramebuffer; + internal unsafe delegate* glInvalidateTexImage; + internal unsafe delegate* glInvalidateTexSubImage; + internal unsafe delegate* glIsAsyncMarkerSGIX; + internal unsafe delegate* glIsBuffer; + internal unsafe delegate* glIsBufferARB; + internal unsafe delegate* glIsBufferResidentNV; + internal unsafe delegate* glIsCommandListNV; + internal unsafe delegate* glIsEnabled; + internal unsafe delegate* glIsEnabledIndexedEXT; + internal unsafe delegate* glIsEnabledi; + internal unsafe delegate* glIsFenceAPPLE; + internal unsafe delegate* glIsFenceNV; + internal unsafe delegate* glIsFramebuffer; + internal unsafe delegate* glIsFramebufferEXT; + internal unsafe delegate* glIsImageHandleResidentARB; + internal unsafe delegate* glIsImageHandleResidentNV; + internal unsafe delegate* glIsMemoryObjectEXT; + internal unsafe delegate* glIsNameAMD; + internal unsafe delegate* glIsNamedBufferResidentNV; + internal unsafe delegate* glIsNamedStringARB; + internal unsafe delegate* glIsObjectBufferATI; + internal unsafe delegate* glIsOcclusionQueryNV; + internal unsafe delegate* glIsPathNV; + internal unsafe delegate* glIsPointInFillPathNV; + internal unsafe delegate* glIsPointInStrokePathNV; + internal unsafe delegate* glIsProgram; + internal unsafe delegate* glIsProgramARB; + internal unsafe delegate* glIsProgramNV; + internal unsafe delegate* glIsProgramPipeline; + internal unsafe delegate* glIsQuery; + internal unsafe delegate* glIsQueryARB; + internal unsafe delegate* glIsRenderbuffer; + internal unsafe delegate* glIsRenderbufferEXT; + internal unsafe delegate* glIsSampler; + internal unsafe delegate* glIsSemaphoreEXT; + internal unsafe delegate* glIsShader; + internal unsafe delegate* glIsStateNV; + internal unsafe delegate* glIsSync; + internal unsafe delegate* glIsTexture; + internal unsafe delegate* glIsTextureEXT; + internal unsafe delegate* glIsTextureHandleResidentARB; + internal unsafe delegate* glIsTextureHandleResidentNV; + internal unsafe delegate* glIsTransformFeedback; + internal unsafe delegate* glIsTransformFeedbackNV; + internal unsafe delegate* glIsVariantEnabledEXT; + internal unsafe delegate* glIsVertexArray; + internal unsafe delegate* glIsVertexArrayAPPLE; + internal unsafe delegate* glIsVertexAttribEnabledAPPLE; + internal unsafe delegate* glLGPUCopyImageSubDataNVX; + internal unsafe delegate* glLGPUInterlockNVX; + internal unsafe delegate* glLGPUNamedBufferSubDataNVX; + internal unsafe delegate* glLabelObjectEXT; + internal unsafe delegate* glLightEnviSGIX; + internal unsafe delegate* glLightModelxOES; + internal unsafe delegate* glLightModelxvOES; + internal unsafe delegate* glLightxOES; + internal unsafe delegate* glLightxvOES; + internal unsafe delegate* glLineWidth; + internal unsafe delegate* glLineWidthxOES; + internal unsafe delegate* glLinkProgram; + internal unsafe delegate* glLinkProgramARB; + internal unsafe delegate* glListDrawCommandsStatesClientNV; + internal unsafe delegate* glListParameterfSGIX; + internal unsafe delegate* glListParameterfvSGIX; + internal unsafe delegate* glListParameteriSGIX; + internal unsafe delegate* glListParameterivSGIX; + internal unsafe delegate* glLoadIdentityDeformationMapSGIX; + internal unsafe delegate* glLoadMatrixxOES; + internal unsafe delegate* glLoadProgramNV; + internal unsafe delegate* glLoadTransposeMatrixdARB; + internal unsafe delegate* glLoadTransposeMatrixfARB; + internal unsafe delegate* glLoadTransposeMatrixxOES; + internal unsafe delegate* glLockArraysEXT; + internal unsafe delegate* glLogicOp; + internal unsafe delegate* glMakeBufferNonResidentNV; + internal unsafe delegate* glMakeBufferResidentNV; + internal unsafe delegate* glMakeImageHandleNonResidentARB; + internal unsafe delegate* glMakeImageHandleNonResidentNV; + internal unsafe delegate* glMakeImageHandleResidentARB; + internal unsafe delegate* glMakeImageHandleResidentNV; + internal unsafe delegate* glMakeNamedBufferNonResidentNV; + internal unsafe delegate* glMakeNamedBufferResidentNV; + internal unsafe delegate* glMakeTextureHandleNonResidentARB; + internal unsafe delegate* glMakeTextureHandleNonResidentNV; + internal unsafe delegate* glMakeTextureHandleResidentARB; + internal unsafe delegate* glMakeTextureHandleResidentNV; + internal unsafe delegate* glMap1xOES; + internal unsafe delegate* glMap2xOES; + internal unsafe delegate* glMapBuffer; + internal unsafe delegate* glMapBufferARB; + internal unsafe delegate* glMapBufferRange; + internal unsafe delegate* glMapControlPointsNV; + internal unsafe delegate* glMapGrid1xOES; + internal unsafe delegate* glMapGrid2xOES; + internal unsafe delegate* glMapNamedBuffer; + internal unsafe delegate* glMapNamedBufferEXT; + internal unsafe delegate* glMapNamedBufferRange; + internal unsafe delegate* glMapNamedBufferRangeEXT; + internal unsafe delegate* glMapObjectBufferATI; + internal unsafe delegate* glMapParameterfvNV; + internal unsafe delegate* glMapParameterivNV; + internal unsafe delegate* glMapTexture2DINTEL; + internal unsafe delegate* glMapVertexAttrib1dAPPLE; + internal unsafe delegate* glMapVertexAttrib1fAPPLE; + internal unsafe delegate* glMapVertexAttrib2dAPPLE; + internal unsafe delegate* glMapVertexAttrib2fAPPLE; + internal unsafe delegate* glMaterialxOES; + internal unsafe delegate* glMaterialxvOES; + internal unsafe delegate* glMatrixFrustumEXT; + internal unsafe delegate* glMatrixIndexPointerARB; + internal unsafe delegate* glMatrixIndexubvARB; + internal unsafe delegate* glMatrixIndexuivARB; + internal unsafe delegate* glMatrixIndexusvARB; + internal unsafe delegate* glMatrixLoad3x2fNV; + internal unsafe delegate* glMatrixLoad3x3fNV; + internal unsafe delegate* glMatrixLoadIdentityEXT; + internal unsafe delegate* glMatrixLoadTranspose3x3fNV; + internal unsafe delegate* glMatrixLoadTransposedEXT; + internal unsafe delegate* glMatrixLoadTransposefEXT; + internal unsafe delegate* glMatrixLoaddEXT; + internal unsafe delegate* glMatrixLoadfEXT; + internal unsafe delegate* glMatrixMult3x2fNV; + internal unsafe delegate* glMatrixMult3x3fNV; + internal unsafe delegate* glMatrixMultTranspose3x3fNV; + internal unsafe delegate* glMatrixMultTransposedEXT; + internal unsafe delegate* glMatrixMultTransposefEXT; + internal unsafe delegate* glMatrixMultdEXT; + internal unsafe delegate* glMatrixMultfEXT; + internal unsafe delegate* glMatrixOrthoEXT; + internal unsafe delegate* glMatrixPopEXT; + internal unsafe delegate* glMatrixPushEXT; + internal unsafe delegate* glMatrixRotatedEXT; + internal unsafe delegate* glMatrixRotatefEXT; + internal unsafe delegate* glMatrixScaledEXT; + internal unsafe delegate* glMatrixScalefEXT; + internal unsafe delegate* glMatrixTranslatedEXT; + internal unsafe delegate* glMatrixTranslatefEXT; + internal unsafe delegate* glMaxShaderCompilerThreadsARB; + internal unsafe delegate* glMaxShaderCompilerThreadsKHR; + internal unsafe delegate* glMemoryBarrier; + internal unsafe delegate* glMemoryBarrierByRegion; + internal unsafe delegate* glMemoryBarrierEXT; + internal unsafe delegate* glMemoryObjectParameterivEXT; + internal unsafe delegate* glMinSampleShading; + internal unsafe delegate* glMinSampleShadingARB; + internal unsafe delegate* glMinmaxEXT; + internal unsafe delegate* glMultMatrixxOES; + internal unsafe delegate* glMultTransposeMatrixdARB; + internal unsafe delegate* glMultTransposeMatrixfARB; + internal unsafe delegate* glMultTransposeMatrixxOES; + internal unsafe delegate* glMultiDrawArrays; + internal unsafe delegate* glMultiDrawArraysEXT; + internal unsafe delegate* glMultiDrawArraysIndirect; + internal unsafe delegate* glMultiDrawArraysIndirectAMD; + internal unsafe delegate* glMultiDrawArraysIndirectBindlessCountNV; + internal unsafe delegate* glMultiDrawArraysIndirectBindlessNV; + internal unsafe delegate* glMultiDrawArraysIndirectCount; + internal unsafe delegate* glMultiDrawArraysIndirectCountARB; + internal unsafe delegate* glMultiDrawElementArrayAPPLE; + internal unsafe delegate* glMultiDrawElements; + internal unsafe delegate* glMultiDrawElementsBaseVertex; + internal unsafe delegate* glMultiDrawElementsEXT; + internal unsafe delegate* glMultiDrawElementsIndirect; + internal unsafe delegate* glMultiDrawElementsIndirectAMD; + internal unsafe delegate* glMultiDrawElementsIndirectBindlessCountNV; + internal unsafe delegate* glMultiDrawElementsIndirectBindlessNV; + internal unsafe delegate* glMultiDrawElementsIndirectCount; + internal unsafe delegate* glMultiDrawElementsIndirectCountARB; + internal unsafe delegate* glMultiDrawMeshTasksIndirectCountNV; + internal unsafe delegate* glMultiDrawMeshTasksIndirectNV; + internal unsafe delegate* glMultiDrawRangeElementArrayAPPLE; + internal unsafe delegate* glMultiModeDrawArraysIBM; + internal unsafe delegate* glMultiModeDrawElementsIBM; + internal unsafe delegate* glMultiTexBufferEXT; + internal unsafe delegate* glMultiTexCoord1bOES; + internal unsafe delegate* glMultiTexCoord1bvOES; + internal unsafe delegate* glMultiTexCoord1dARB; + internal unsafe delegate* glMultiTexCoord1dvARB; + internal unsafe delegate* glMultiTexCoord1fARB; + internal unsafe delegate* glMultiTexCoord1fvARB; + internal unsafe delegate* glMultiTexCoord1hNV; + internal unsafe delegate* glMultiTexCoord1hvNV; + internal unsafe delegate* glMultiTexCoord1iARB; + internal unsafe delegate* glMultiTexCoord1ivARB; + internal unsafe delegate* glMultiTexCoord1sARB; + internal unsafe delegate* glMultiTexCoord1svARB; + internal unsafe delegate* glMultiTexCoord1xOES; + internal unsafe delegate* glMultiTexCoord1xvOES; + internal unsafe delegate* glMultiTexCoord2bOES; + internal unsafe delegate* glMultiTexCoord2bvOES; + internal unsafe delegate* glMultiTexCoord2dARB; + internal unsafe delegate* glMultiTexCoord2dvARB; + internal unsafe delegate* glMultiTexCoord2fARB; + internal unsafe delegate* glMultiTexCoord2fvARB; + internal unsafe delegate* glMultiTexCoord2hNV; + internal unsafe delegate* glMultiTexCoord2hvNV; + internal unsafe delegate* glMultiTexCoord2iARB; + internal unsafe delegate* glMultiTexCoord2ivARB; + internal unsafe delegate* glMultiTexCoord2sARB; + internal unsafe delegate* glMultiTexCoord2svARB; + internal unsafe delegate* glMultiTexCoord2xOES; + internal unsafe delegate* glMultiTexCoord2xvOES; + internal unsafe delegate* glMultiTexCoord3bOES; + internal unsafe delegate* glMultiTexCoord3bvOES; + internal unsafe delegate* glMultiTexCoord3dARB; + internal unsafe delegate* glMultiTexCoord3dvARB; + internal unsafe delegate* glMultiTexCoord3fARB; + internal unsafe delegate* glMultiTexCoord3fvARB; + internal unsafe delegate* glMultiTexCoord3hNV; + internal unsafe delegate* glMultiTexCoord3hvNV; + internal unsafe delegate* glMultiTexCoord3iARB; + internal unsafe delegate* glMultiTexCoord3ivARB; + internal unsafe delegate* glMultiTexCoord3sARB; + internal unsafe delegate* glMultiTexCoord3svARB; + internal unsafe delegate* glMultiTexCoord3xOES; + internal unsafe delegate* glMultiTexCoord3xvOES; + internal unsafe delegate* glMultiTexCoord4bOES; + internal unsafe delegate* glMultiTexCoord4bvOES; + internal unsafe delegate* glMultiTexCoord4dARB; + internal unsafe delegate* glMultiTexCoord4dvARB; + internal unsafe delegate* glMultiTexCoord4fARB; + internal unsafe delegate* glMultiTexCoord4fvARB; + internal unsafe delegate* glMultiTexCoord4hNV; + internal unsafe delegate* glMultiTexCoord4hvNV; + internal unsafe delegate* glMultiTexCoord4iARB; + internal unsafe delegate* glMultiTexCoord4ivARB; + internal unsafe delegate* glMultiTexCoord4sARB; + internal unsafe delegate* glMultiTexCoord4svARB; + internal unsafe delegate* glMultiTexCoord4xOES; + internal unsafe delegate* glMultiTexCoord4xvOES; + internal unsafe delegate* glMultiTexCoordPointerEXT; + internal unsafe delegate* glMultiTexEnvfEXT; + internal unsafe delegate* glMultiTexEnvfvEXT; + internal unsafe delegate* glMultiTexEnviEXT; + internal unsafe delegate* glMultiTexEnvivEXT; + internal unsafe delegate* glMultiTexGendEXT; + internal unsafe delegate* glMultiTexGendvEXT; + internal unsafe delegate* glMultiTexGenfEXT; + internal unsafe delegate* glMultiTexGenfvEXT; + internal unsafe delegate* glMultiTexGeniEXT; + internal unsafe delegate* glMultiTexGenivEXT; + internal unsafe delegate* glMultiTexImage1DEXT; + internal unsafe delegate* glMultiTexImage2DEXT; + internal unsafe delegate* glMultiTexImage3DEXT; + internal unsafe delegate* glMultiTexParameterIivEXT; + internal unsafe delegate* glMultiTexParameterIuivEXT; + internal unsafe delegate* glMultiTexParameterfEXT; + internal unsafe delegate* glMultiTexParameterfvEXT; + internal unsafe delegate* glMultiTexParameteriEXT; + internal unsafe delegate* glMultiTexParameterivEXT; + internal unsafe delegate* glMultiTexRenderbufferEXT; + internal unsafe delegate* glMultiTexSubImage1DEXT; + internal unsafe delegate* glMultiTexSubImage2DEXT; + internal unsafe delegate* glMultiTexSubImage3DEXT; + internal unsafe delegate* glMulticastBarrierNV; + internal unsafe delegate* glMulticastBlitFramebufferNV; + internal unsafe delegate* glMulticastBufferSubDataNV; + internal unsafe delegate* glMulticastCopyBufferSubDataNV; + internal unsafe delegate* glMulticastCopyImageSubDataNV; + internal unsafe delegate* glMulticastFramebufferSampleLocationsfvNV; + internal unsafe delegate* glMulticastGetQueryObjecti64vNV; + internal unsafe delegate* glMulticastGetQueryObjectivNV; + internal unsafe delegate* glMulticastGetQueryObjectui64vNV; + internal unsafe delegate* glMulticastGetQueryObjectuivNV; + internal unsafe delegate* glMulticastScissorArrayvNVX; + internal unsafe delegate* glMulticastViewportArrayvNVX; + internal unsafe delegate* glMulticastViewportPositionWScaleNVX; + internal unsafe delegate* glMulticastWaitSyncNV; + internal unsafe delegate* glNamedBufferAttachMemoryNV; + internal unsafe delegate* glNamedBufferData; + internal unsafe delegate* glNamedBufferDataEXT; + internal unsafe delegate* glNamedBufferPageCommitmentARB; + internal unsafe delegate* glNamedBufferPageCommitmentEXT; + internal unsafe delegate* glNamedBufferPageCommitmentMemNV; + internal unsafe delegate* glNamedBufferStorage; + internal unsafe delegate* glNamedBufferStorageEXT; + [Obsolete("Param type uncertain", true)] internal unsafe delegate* glNamedBufferStorageExternalEXT; + internal unsafe delegate* glNamedBufferStorageMemEXT; + internal unsafe delegate* glNamedBufferSubData; + internal unsafe delegate* glNamedBufferSubDataEXT; + internal unsafe delegate* glNamedCopyBufferSubDataEXT; + internal unsafe delegate* glNamedFramebufferDrawBuffer; + internal unsafe delegate* glNamedFramebufferDrawBuffers; + internal unsafe delegate* glNamedFramebufferParameteri; + internal unsafe delegate* glNamedFramebufferParameteriEXT; + internal unsafe delegate* glNamedFramebufferReadBuffer; + internal unsafe delegate* glNamedFramebufferRenderbuffer; + internal unsafe delegate* glNamedFramebufferRenderbufferEXT; + internal unsafe delegate* glNamedFramebufferSampleLocationsfvARB; + internal unsafe delegate* glNamedFramebufferSampleLocationsfvNV; + internal unsafe delegate* glNamedFramebufferSamplePositionsfvAMD; + internal unsafe delegate* glNamedFramebufferTexture; + internal unsafe delegate* glNamedFramebufferTexture1DEXT; + internal unsafe delegate* glNamedFramebufferTexture2DEXT; + internal unsafe delegate* glNamedFramebufferTexture3DEXT; + internal unsafe delegate* glNamedFramebufferTextureEXT; + internal unsafe delegate* glNamedFramebufferTextureFaceEXT; + internal unsafe delegate* glNamedFramebufferTextureLayer; + internal unsafe delegate* glNamedFramebufferTextureLayerEXT; + internal unsafe delegate* glNamedProgramLocalParameter4dEXT; + internal unsafe delegate* glNamedProgramLocalParameter4dvEXT; + internal unsafe delegate* glNamedProgramLocalParameter4fEXT; + internal unsafe delegate* glNamedProgramLocalParameter4fvEXT; + internal unsafe delegate* glNamedProgramLocalParameterI4iEXT; + internal unsafe delegate* glNamedProgramLocalParameterI4ivEXT; + internal unsafe delegate* glNamedProgramLocalParameterI4uiEXT; + internal unsafe delegate* glNamedProgramLocalParameterI4uivEXT; + internal unsafe delegate* glNamedProgramLocalParameters4fvEXT; + internal unsafe delegate* glNamedProgramLocalParametersI4ivEXT; + internal unsafe delegate* glNamedProgramLocalParametersI4uivEXT; + internal unsafe delegate* glNamedProgramStringEXT; + internal unsafe delegate* glNamedRenderbufferStorage; + internal unsafe delegate* glNamedRenderbufferStorageEXT; + internal unsafe delegate* glNamedRenderbufferStorageMultisample; + internal unsafe delegate* glNamedRenderbufferStorageMultisampleAdvancedAMD; + internal unsafe delegate* glNamedRenderbufferStorageMultisampleCoverageEXT; + internal unsafe delegate* glNamedRenderbufferStorageMultisampleEXT; + internal unsafe delegate* glNamedStringARB; + internal unsafe delegate* glNewObjectBufferATI; + internal unsafe delegate* glNormal3fVertex3fSUN; + internal unsafe delegate* glNormal3fVertex3fvSUN; + internal unsafe delegate* glNormal3hNV; + internal unsafe delegate* glNormal3hvNV; + internal unsafe delegate* glNormal3xOES; + internal unsafe delegate* glNormal3xvOES; + internal unsafe delegate* glNormalFormatNV; + internal unsafe delegate* glNormalPointerEXT; + internal unsafe delegate* glNormalPointerListIBM; + internal unsafe delegate* glNormalPointervINTEL; + internal unsafe delegate* glNormalStream3bATI; + internal unsafe delegate* glNormalStream3bvATI; + internal unsafe delegate* glNormalStream3dATI; + internal unsafe delegate* glNormalStream3dvATI; + internal unsafe delegate* glNormalStream3fATI; + internal unsafe delegate* glNormalStream3fvATI; + internal unsafe delegate* glNormalStream3iATI; + internal unsafe delegate* glNormalStream3ivATI; + internal unsafe delegate* glNormalStream3sATI; + internal unsafe delegate* glNormalStream3svATI; + internal unsafe delegate* glObjectLabel; + internal unsafe delegate* glObjectPtrLabel; + internal unsafe delegate* glObjectPurgeableAPPLE; + internal unsafe delegate* glObjectUnpurgeableAPPLE; + internal unsafe delegate* glOrthofOES; + internal unsafe delegate* glOrthoxOES; + internal unsafe delegate* glPNTrianglesfATI; + internal unsafe delegate* glPNTrianglesiATI; + internal unsafe delegate* glPassTexCoordATI; + internal unsafe delegate* glPassThroughxOES; + internal unsafe delegate* glPatchParameterfv; + internal unsafe delegate* glPatchParameteri; + internal unsafe delegate* glPathCommandsNV; + internal unsafe delegate* glPathCoordsNV; + internal unsafe delegate* glPathCoverDepthFuncNV; + internal unsafe delegate* glPathDashArrayNV; + internal unsafe delegate* glPathGlyphIndexArrayNV; + internal unsafe delegate* glPathGlyphIndexRangeNV; + internal unsafe delegate* glPathGlyphRangeNV; + internal unsafe delegate* glPathGlyphsNV; + internal unsafe delegate* glPathMemoryGlyphIndexArrayNV; + internal unsafe delegate* glPathParameterfNV; + internal unsafe delegate* glPathParameterfvNV; + internal unsafe delegate* glPathParameteriNV; + internal unsafe delegate* glPathParameterivNV; + internal unsafe delegate* glPathStencilDepthOffsetNV; + internal unsafe delegate* glPathStencilFuncNV; + internal unsafe delegate* glPathStringNV; + internal unsafe delegate* glPathSubCommandsNV; + internal unsafe delegate* glPathSubCoordsNV; + internal unsafe delegate* glPauseTransformFeedback; + internal unsafe delegate* glPauseTransformFeedbackNV; + internal unsafe delegate* glPixelDataRangeNV; + internal unsafe delegate* glPixelMapx; + internal unsafe delegate* glPixelStoref; + internal unsafe delegate* glPixelStorei; + internal unsafe delegate* glPixelStorex; + internal unsafe delegate* glPixelTexGenParameterfSGIS; + internal unsafe delegate* glPixelTexGenParameterfvSGIS; + internal unsafe delegate* glPixelTexGenParameteriSGIS; + internal unsafe delegate* glPixelTexGenParameterivSGIS; + internal unsafe delegate* glPixelTexGenSGIX; + internal unsafe delegate* glPixelTransferxOES; + internal unsafe delegate* glPixelTransformParameterfEXT; + internal unsafe delegate* glPixelTransformParameterfvEXT; + internal unsafe delegate* glPixelTransformParameteriEXT; + internal unsafe delegate* glPixelTransformParameterivEXT; + internal unsafe delegate* glPixelZoomxOES; + internal unsafe delegate* glPointAlongPathNV; + internal unsafe delegate* glPointParameterf; + internal unsafe delegate* glPointParameterfARB; + internal unsafe delegate* glPointParameterfEXT; + internal unsafe delegate* glPointParameterfSGIS; + internal unsafe delegate* glPointParameterfv; + internal unsafe delegate* glPointParameterfvARB; + internal unsafe delegate* glPointParameterfvEXT; + internal unsafe delegate* glPointParameterfvSGIS; + internal unsafe delegate* glPointParameteri; + internal unsafe delegate* glPointParameteriNV; + internal unsafe delegate* glPointParameteriv; + internal unsafe delegate* glPointParameterivNV; + internal unsafe delegate* glPointParameterxvOES; + internal unsafe delegate* glPointSize; + internal unsafe delegate* glPointSizexOES; + internal unsafe delegate* glPollAsyncSGIX; + internal unsafe delegate* glPollInstrumentsSGIX; + internal unsafe delegate* glPolygonMode; + internal unsafe delegate* glPolygonOffset; + internal unsafe delegate* glPolygonOffsetClamp; + internal unsafe delegate* glPolygonOffsetClampEXT; + internal unsafe delegate* glPolygonOffsetEXT; + internal unsafe delegate* glPolygonOffsetxOES; + internal unsafe delegate* glPopDebugGroup; + internal unsafe delegate* glPopGroupMarkerEXT; + internal unsafe delegate* glPresentFrameDualFillNV; + internal unsafe delegate* glPresentFrameKeyedNV; + internal unsafe delegate* glPrimitiveBoundingBoxARB; + internal unsafe delegate* glPrimitiveRestartIndex; + internal unsafe delegate* glPrimitiveRestartIndexNV; + internal unsafe delegate* glPrimitiveRestartNV; + internal unsafe delegate* glPrioritizeTexturesEXT; + internal unsafe delegate* glPrioritizeTexturesxOES; + internal unsafe delegate* glProgramBinary; + internal unsafe delegate* glProgramBufferParametersIivNV; + internal unsafe delegate* glProgramBufferParametersIuivNV; + internal unsafe delegate* glProgramBufferParametersfvNV; + internal unsafe delegate* glProgramEnvParameter4dARB; + internal unsafe delegate* glProgramEnvParameter4dvARB; + internal unsafe delegate* glProgramEnvParameter4fARB; + internal unsafe delegate* glProgramEnvParameter4fvARB; + internal unsafe delegate* glProgramEnvParameterI4iNV; + internal unsafe delegate* glProgramEnvParameterI4ivNV; + internal unsafe delegate* glProgramEnvParameterI4uiNV; + internal unsafe delegate* glProgramEnvParameterI4uivNV; + internal unsafe delegate* glProgramEnvParameters4fvEXT; + internal unsafe delegate* glProgramEnvParametersI4ivNV; + internal unsafe delegate* glProgramEnvParametersI4uivNV; + internal unsafe delegate* glProgramLocalParameter4dARB; + internal unsafe delegate* glProgramLocalParameter4dvARB; + internal unsafe delegate* glProgramLocalParameter4fARB; + internal unsafe delegate* glProgramLocalParameter4fvARB; + internal unsafe delegate* glProgramLocalParameterI4iNV; + internal unsafe delegate* glProgramLocalParameterI4ivNV; + internal unsafe delegate* glProgramLocalParameterI4uiNV; + internal unsafe delegate* glProgramLocalParameterI4uivNV; + internal unsafe delegate* glProgramLocalParameters4fvEXT; + internal unsafe delegate* glProgramLocalParametersI4ivNV; + internal unsafe delegate* glProgramLocalParametersI4uivNV; + internal unsafe delegate* glProgramNamedParameter4dNV; + internal unsafe delegate* glProgramNamedParameter4dvNV; + internal unsafe delegate* glProgramNamedParameter4fNV; + internal unsafe delegate* glProgramNamedParameter4fvNV; + internal unsafe delegate* glProgramParameter4dNV; + internal unsafe delegate* glProgramParameter4dvNV; + internal unsafe delegate* glProgramParameter4fNV; + internal unsafe delegate* glProgramParameter4fvNV; + internal unsafe delegate* glProgramParameteri; + internal unsafe delegate* glProgramParameteriARB; + internal unsafe delegate* glProgramParameteriEXT; + internal unsafe delegate* glProgramParameters4dvNV; + internal unsafe delegate* glProgramParameters4fvNV; + internal unsafe delegate* glProgramPathFragmentInputGenNV; + internal unsafe delegate* glProgramStringARB; + internal unsafe delegate* glProgramSubroutineParametersuivNV; + internal unsafe delegate* glProgramUniform1d; + internal unsafe delegate* glProgramUniform1dEXT; + internal unsafe delegate* glProgramUniform1dv; + internal unsafe delegate* glProgramUniform1dvEXT; + internal unsafe delegate* glProgramUniform1f; + internal unsafe delegate* glProgramUniform1fEXT; + internal unsafe delegate* glProgramUniform1fv; + internal unsafe delegate* glProgramUniform1fvEXT; + internal unsafe delegate* glProgramUniform1i; + internal unsafe delegate* glProgramUniform1i64ARB; + internal unsafe delegate* glProgramUniform1i64NV; + internal unsafe delegate* glProgramUniform1i64vARB; + internal unsafe delegate* glProgramUniform1i64vNV; + internal unsafe delegate* glProgramUniform1iEXT; + internal unsafe delegate* glProgramUniform1iv; + internal unsafe delegate* glProgramUniform1ivEXT; + internal unsafe delegate* glProgramUniform1ui; + internal unsafe delegate* glProgramUniform1ui64ARB; + internal unsafe delegate* glProgramUniform1ui64NV; + internal unsafe delegate* glProgramUniform1ui64vARB; + internal unsafe delegate* glProgramUniform1ui64vNV; + internal unsafe delegate* glProgramUniform1uiEXT; + internal unsafe delegate* glProgramUniform1uiv; + internal unsafe delegate* glProgramUniform1uivEXT; + internal unsafe delegate* glProgramUniform2d; + internal unsafe delegate* glProgramUniform2dEXT; + internal unsafe delegate* glProgramUniform2dv; + internal unsafe delegate* glProgramUniform2dvEXT; + internal unsafe delegate* glProgramUniform2f; + internal unsafe delegate* glProgramUniform2fEXT; + internal unsafe delegate* glProgramUniform2fv; + internal unsafe delegate* glProgramUniform2fvEXT; + internal unsafe delegate* glProgramUniform2i; + internal unsafe delegate* glProgramUniform2i64ARB; + internal unsafe delegate* glProgramUniform2i64NV; + internal unsafe delegate* glProgramUniform2i64vARB; + internal unsafe delegate* glProgramUniform2i64vNV; + internal unsafe delegate* glProgramUniform2iEXT; + internal unsafe delegate* glProgramUniform2iv; + internal unsafe delegate* glProgramUniform2ivEXT; + internal unsafe delegate* glProgramUniform2ui; + internal unsafe delegate* glProgramUniform2ui64ARB; + internal unsafe delegate* glProgramUniform2ui64NV; + internal unsafe delegate* glProgramUniform2ui64vARB; + internal unsafe delegate* glProgramUniform2ui64vNV; + internal unsafe delegate* glProgramUniform2uiEXT; + internal unsafe delegate* glProgramUniform2uiv; + internal unsafe delegate* glProgramUniform2uivEXT; + internal unsafe delegate* glProgramUniform3d; + internal unsafe delegate* glProgramUniform3dEXT; + internal unsafe delegate* glProgramUniform3dv; + internal unsafe delegate* glProgramUniform3dvEXT; + internal unsafe delegate* glProgramUniform3f; + internal unsafe delegate* glProgramUniform3fEXT; + internal unsafe delegate* glProgramUniform3fv; + internal unsafe delegate* glProgramUniform3fvEXT; + internal unsafe delegate* glProgramUniform3i; + internal unsafe delegate* glProgramUniform3i64ARB; + internal unsafe delegate* glProgramUniform3i64NV; + internal unsafe delegate* glProgramUniform3i64vARB; + internal unsafe delegate* glProgramUniform3i64vNV; + internal unsafe delegate* glProgramUniform3iEXT; + internal unsafe delegate* glProgramUniform3iv; + internal unsafe delegate* glProgramUniform3ivEXT; + internal unsafe delegate* glProgramUniform3ui; + internal unsafe delegate* glProgramUniform3ui64ARB; + internal unsafe delegate* glProgramUniform3ui64NV; + internal unsafe delegate* glProgramUniform3ui64vARB; + internal unsafe delegate* glProgramUniform3ui64vNV; + internal unsafe delegate* glProgramUniform3uiEXT; + internal unsafe delegate* glProgramUniform3uiv; + internal unsafe delegate* glProgramUniform3uivEXT; + internal unsafe delegate* glProgramUniform4d; + internal unsafe delegate* glProgramUniform4dEXT; + internal unsafe delegate* glProgramUniform4dv; + internal unsafe delegate* glProgramUniform4dvEXT; + internal unsafe delegate* glProgramUniform4f; + internal unsafe delegate* glProgramUniform4fEXT; + internal unsafe delegate* glProgramUniform4fv; + internal unsafe delegate* glProgramUniform4fvEXT; + internal unsafe delegate* glProgramUniform4i; + internal unsafe delegate* glProgramUniform4i64ARB; + internal unsafe delegate* glProgramUniform4i64NV; + internal unsafe delegate* glProgramUniform4i64vARB; + internal unsafe delegate* glProgramUniform4i64vNV; + internal unsafe delegate* glProgramUniform4iEXT; + internal unsafe delegate* glProgramUniform4iv; + internal unsafe delegate* glProgramUniform4ivEXT; + internal unsafe delegate* glProgramUniform4ui; + internal unsafe delegate* glProgramUniform4ui64ARB; + internal unsafe delegate* glProgramUniform4ui64NV; + internal unsafe delegate* glProgramUniform4ui64vARB; + internal unsafe delegate* glProgramUniform4ui64vNV; + internal unsafe delegate* glProgramUniform4uiEXT; + internal unsafe delegate* glProgramUniform4uiv; + internal unsafe delegate* glProgramUniform4uivEXT; + internal unsafe delegate* glProgramUniformHandleui64ARB; + internal unsafe delegate* glProgramUniformHandleui64NV; + internal unsafe delegate* glProgramUniformHandleui64vARB; + internal unsafe delegate* glProgramUniformHandleui64vNV; + internal unsafe delegate* glProgramUniformMatrix2dv; + internal unsafe delegate* glProgramUniformMatrix2dvEXT; + internal unsafe delegate* glProgramUniformMatrix2fv; + internal unsafe delegate* glProgramUniformMatrix2fvEXT; + internal unsafe delegate* glProgramUniformMatrix2x3dv; + internal unsafe delegate* glProgramUniformMatrix2x3dvEXT; + internal unsafe delegate* glProgramUniformMatrix2x3fv; + internal unsafe delegate* glProgramUniformMatrix2x3fvEXT; + internal unsafe delegate* glProgramUniformMatrix2x4dv; + internal unsafe delegate* glProgramUniformMatrix2x4dvEXT; + internal unsafe delegate* glProgramUniformMatrix2x4fv; + internal unsafe delegate* glProgramUniformMatrix2x4fvEXT; + internal unsafe delegate* glProgramUniformMatrix3dv; + internal unsafe delegate* glProgramUniformMatrix3dvEXT; + internal unsafe delegate* glProgramUniformMatrix3fv; + internal unsafe delegate* glProgramUniformMatrix3fvEXT; + internal unsafe delegate* glProgramUniformMatrix3x2dv; + internal unsafe delegate* glProgramUniformMatrix3x2dvEXT; + internal unsafe delegate* glProgramUniformMatrix3x2fv; + internal unsafe delegate* glProgramUniformMatrix3x2fvEXT; + internal unsafe delegate* glProgramUniformMatrix3x4dv; + internal unsafe delegate* glProgramUniformMatrix3x4dvEXT; + internal unsafe delegate* glProgramUniformMatrix3x4fv; + internal unsafe delegate* glProgramUniformMatrix3x4fvEXT; + internal unsafe delegate* glProgramUniformMatrix4dv; + internal unsafe delegate* glProgramUniformMatrix4dvEXT; + internal unsafe delegate* glProgramUniformMatrix4fv; + internal unsafe delegate* glProgramUniformMatrix4fvEXT; + internal unsafe delegate* glProgramUniformMatrix4x2dv; + internal unsafe delegate* glProgramUniformMatrix4x2dvEXT; + internal unsafe delegate* glProgramUniformMatrix4x2fv; + internal unsafe delegate* glProgramUniformMatrix4x2fvEXT; + internal unsafe delegate* glProgramUniformMatrix4x3dv; + internal unsafe delegate* glProgramUniformMatrix4x3dvEXT; + internal unsafe delegate* glProgramUniformMatrix4x3fv; + internal unsafe delegate* glProgramUniformMatrix4x3fvEXT; + internal unsafe delegate* glProgramUniformui64NV; + internal unsafe delegate* glProgramUniformui64vNV; + internal unsafe delegate* glProgramVertexLimitNV; + internal unsafe delegate* glProvokingVertex; + internal unsafe delegate* glProvokingVertexEXT; + internal unsafe delegate* glPushClientAttribDefaultEXT; + internal unsafe delegate* glPushDebugGroup; + internal unsafe delegate* glPushGroupMarkerEXT; + internal unsafe delegate* glQueryCounter; + internal unsafe delegate* glQueryMatrixxOES; + internal unsafe delegate* glQueryObjectParameteruiAMD; + internal unsafe delegate* glQueryResourceNV; + internal unsafe delegate* glQueryResourceTagNV; + internal unsafe delegate* glRasterPos2xOES; + internal unsafe delegate* glRasterPos2xvOES; + internal unsafe delegate* glRasterPos3xOES; + internal unsafe delegate* glRasterPos3xvOES; + internal unsafe delegate* glRasterPos4xOES; + internal unsafe delegate* glRasterPos4xvOES; + internal unsafe delegate* glRasterSamplesEXT; + internal unsafe delegate* glReadBuffer; + internal unsafe delegate* glReadInstrumentsSGIX; + internal unsafe delegate* glReadPixels; + internal unsafe delegate* glReadnPixels; + internal unsafe delegate* glReadnPixelsARB; + internal unsafe delegate* glRectxOES; + internal unsafe delegate* glRectxvOES; + internal unsafe delegate* glReferencePlaneSGIX; + internal unsafe delegate* glReleaseKeyedMutexWin32EXT; + internal unsafe delegate* glReleaseShaderCompiler; + internal unsafe delegate* glRenderGpuMaskNV; + internal unsafe delegate* glRenderbufferStorage; + internal unsafe delegate* glRenderbufferStorageEXT; + internal unsafe delegate* glRenderbufferStorageMultisample; + internal unsafe delegate* glRenderbufferStorageMultisampleAdvancedAMD; + internal unsafe delegate* glRenderbufferStorageMultisampleCoverageNV; + internal unsafe delegate* glRenderbufferStorageMultisampleEXT; + internal unsafe delegate* glReplacementCodePointerSUN; + internal unsafe delegate* glReplacementCodeubSUN; + internal unsafe delegate* glReplacementCodeubvSUN; + internal unsafe delegate* glReplacementCodeuiColor3fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiColor3fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiColor4fNormal3fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiColor4fNormal3fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiColor4ubVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiColor4ubVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiNormal3fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiNormal3fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiTexCoord2fVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuiVertex3fSUN; + internal unsafe delegate* glReplacementCodeuiVertex3fvSUN; + internal unsafe delegate* glReplacementCodeuivSUN; + internal unsafe delegate* glReplacementCodeusSUN; + internal unsafe delegate* glReplacementCodeusvSUN; + internal unsafe delegate* glRequestResidentProgramsNV; + internal unsafe delegate* glResetHistogramEXT; + internal unsafe delegate* glResetMemoryObjectParameterNV; + internal unsafe delegate* glResetMinmaxEXT; + internal unsafe delegate* glResizeBuffersMESA; + internal unsafe delegate* glResolveDepthValuesNV; + internal unsafe delegate* glResumeTransformFeedback; + internal unsafe delegate* glResumeTransformFeedbackNV; + internal unsafe delegate* glRotatexOES; + internal unsafe delegate* glSampleCoverage; + internal unsafe delegate* glSampleCoverageARB; + internal unsafe delegate* glSampleMapATI; + internal unsafe delegate* glSampleMaskEXT; + internal unsafe delegate* glSampleMaskIndexedNV; + internal unsafe delegate* glSampleMaskSGIS; + internal unsafe delegate* glSampleMaski; + internal unsafe delegate* glSamplePatternEXT; + internal unsafe delegate* glSamplePatternSGIS; + internal unsafe delegate* glSamplerParameterIiv; + internal unsafe delegate* glSamplerParameterIuiv; + internal unsafe delegate* glSamplerParameterf; + internal unsafe delegate* glSamplerParameterfv; + internal unsafe delegate* glSamplerParameteri; + internal unsafe delegate* glSamplerParameteriv; + internal unsafe delegate* glScalexOES; + internal unsafe delegate* glScissor; + internal unsafe delegate* glScissorArrayv; + internal unsafe delegate* glScissorExclusiveArrayvNV; + internal unsafe delegate* glScissorExclusiveNV; + internal unsafe delegate* glScissorIndexed; + internal unsafe delegate* glScissorIndexedv; + internal unsafe delegate* glSecondaryColor3bEXT; + internal unsafe delegate* glSecondaryColor3bvEXT; + internal unsafe delegate* glSecondaryColor3dEXT; + internal unsafe delegate* glSecondaryColor3dvEXT; + internal unsafe delegate* glSecondaryColor3fEXT; + internal unsafe delegate* glSecondaryColor3fvEXT; + internal unsafe delegate* glSecondaryColor3hNV; + internal unsafe delegate* glSecondaryColor3hvNV; + internal unsafe delegate* glSecondaryColor3iEXT; + internal unsafe delegate* glSecondaryColor3ivEXT; + internal unsafe delegate* glSecondaryColor3sEXT; + internal unsafe delegate* glSecondaryColor3svEXT; + internal unsafe delegate* glSecondaryColor3ubEXT; + internal unsafe delegate* glSecondaryColor3ubvEXT; + internal unsafe delegate* glSecondaryColor3uiEXT; + internal unsafe delegate* glSecondaryColor3uivEXT; + internal unsafe delegate* glSecondaryColor3usEXT; + internal unsafe delegate* glSecondaryColor3usvEXT; + internal unsafe delegate* glSecondaryColorFormatNV; + internal unsafe delegate* glSecondaryColorPointerEXT; + internal unsafe delegate* glSecondaryColorPointerListIBM; + internal unsafe delegate* glSelectPerfMonitorCountersAMD; + internal unsafe delegate* glSemaphoreParameterivNV; + internal unsafe delegate* glSemaphoreParameterui64vEXT; + internal unsafe delegate* glSeparableFilter2DEXT; + internal unsafe delegate* glSetFenceAPPLE; + internal unsafe delegate* glSetFenceNV; + internal unsafe delegate* glSetFragmentShaderConstantATI; + internal unsafe delegate* glSetInvariantEXT; + internal unsafe delegate* glSetLocalConstantEXT; + internal unsafe delegate* glSetMultisamplefvAMD; + internal unsafe delegate* glShaderBinary; + internal unsafe delegate* glShaderOp1EXT; + internal unsafe delegate* glShaderOp2EXT; + internal unsafe delegate* glShaderOp3EXT; + internal unsafe delegate* unmanaged[Stdcall] glShaderSource; + internal unsafe delegate* glShaderSourceARB; + internal unsafe delegate* glShaderStorageBlockBinding; + internal unsafe delegate* glShadingRateImageBarrierNV; + internal unsafe delegate* glShadingRateImagePaletteNV; + internal unsafe delegate* glShadingRateSampleOrderCustomNV; + internal unsafe delegate* glShadingRateSampleOrderNV; + internal unsafe delegate* glSharpenTexFuncSGIS; + internal unsafe delegate* glSignalSemaphoreEXT; + internal unsafe delegate* glSignalSemaphoreui64NVX; + internal unsafe delegate* glSignalVkFenceNV; + internal unsafe delegate* glSignalVkSemaphoreNV; + internal unsafe delegate* glSpecializeShader; + internal unsafe delegate* glSpecializeShaderARB; + internal unsafe delegate* glSpriteParameterfSGIX; + internal unsafe delegate* glSpriteParameterfvSGIX; + internal unsafe delegate* glSpriteParameteriSGIX; + internal unsafe delegate* glSpriteParameterivSGIX; + internal unsafe delegate* glStartInstrumentsSGIX; + internal unsafe delegate* glStateCaptureNV; + internal unsafe delegate* glStencilClearTagEXT; + internal unsafe delegate* glStencilFillPathInstancedNV; + internal unsafe delegate* glStencilFillPathNV; + internal unsafe delegate* glStencilFunc; + internal unsafe delegate* glStencilFuncSeparate; + internal unsafe delegate* glStencilFuncSeparateATI; + internal unsafe delegate* glStencilMask; + internal unsafe delegate* glStencilMaskSeparate; + internal unsafe delegate* glStencilOp; + internal unsafe delegate* glStencilOpSeparate; + internal unsafe delegate* glStencilOpSeparateATI; + internal unsafe delegate* glStencilOpValueAMD; + internal unsafe delegate* glStencilStrokePathInstancedNV; + internal unsafe delegate* glStencilStrokePathNV; + internal unsafe delegate* glStencilThenCoverFillPathInstancedNV; + internal unsafe delegate* glStencilThenCoverFillPathNV; + internal unsafe delegate* glStencilThenCoverStrokePathInstancedNV; + internal unsafe delegate* glStencilThenCoverStrokePathNV; + internal unsafe delegate* glStopInstrumentsSGIX; + internal unsafe delegate* glStringMarkerGREMEDY; + internal unsafe delegate* glSubpixelPrecisionBiasNV; + internal unsafe delegate* glSwizzleEXT; + internal unsafe delegate* glSyncTextureINTEL; + internal unsafe delegate* glTagSampleBufferSGIX; + internal unsafe delegate* glTangent3bEXT; + internal unsafe delegate* glTangent3bvEXT; + internal unsafe delegate* glTangent3dEXT; + internal unsafe delegate* glTangent3dvEXT; + internal unsafe delegate* glTangent3fEXT; + internal unsafe delegate* glTangent3fvEXT; + internal unsafe delegate* glTangent3iEXT; + internal unsafe delegate* glTangent3ivEXT; + internal unsafe delegate* glTangent3sEXT; + internal unsafe delegate* glTangent3svEXT; + internal unsafe delegate* glTangentPointerEXT; + internal unsafe delegate* glTbufferMask3DFX; + internal unsafe delegate* glTessellationFactorAMD; + internal unsafe delegate* glTessellationModeAMD; + internal unsafe delegate* glTestFenceAPPLE; + internal unsafe delegate* glTestFenceNV; + internal unsafe delegate* glTestObjectAPPLE; + internal unsafe delegate* glTexAttachMemoryNV; + internal unsafe delegate* glTexBuffer; + internal unsafe delegate* glTexBufferARB; + internal unsafe delegate* glTexBufferEXT; + internal unsafe delegate* glTexBufferRange; + internal unsafe delegate* glTexBumpParameterfvATI; + internal unsafe delegate* glTexBumpParameterivATI; + internal unsafe delegate* glTexCoord1bOES; + internal unsafe delegate* glTexCoord1bvOES; + internal unsafe delegate* glTexCoord1hNV; + internal unsafe delegate* glTexCoord1hvNV; + internal unsafe delegate* glTexCoord1xOES; + internal unsafe delegate* glTexCoord1xvOES; + internal unsafe delegate* glTexCoord2bOES; + internal unsafe delegate* glTexCoord2bvOES; + internal unsafe delegate* glTexCoord2fColor3fVertex3fSUN; + internal unsafe delegate* glTexCoord2fColor3fVertex3fvSUN; + internal unsafe delegate* glTexCoord2fColor4fNormal3fVertex3fSUN; + internal unsafe delegate* glTexCoord2fColor4fNormal3fVertex3fvSUN; + internal unsafe delegate* glTexCoord2fColor4ubVertex3fSUN; + internal unsafe delegate* glTexCoord2fColor4ubVertex3fvSUN; + internal unsafe delegate* glTexCoord2fNormal3fVertex3fSUN; + internal unsafe delegate* glTexCoord2fNormal3fVertex3fvSUN; + internal unsafe delegate* glTexCoord2fVertex3fSUN; + internal unsafe delegate* glTexCoord2fVertex3fvSUN; + internal unsafe delegate* glTexCoord2hNV; + internal unsafe delegate* glTexCoord2hvNV; + internal unsafe delegate* glTexCoord2xOES; + internal unsafe delegate* glTexCoord2xvOES; + internal unsafe delegate* glTexCoord3bOES; + internal unsafe delegate* glTexCoord3bvOES; + internal unsafe delegate* glTexCoord3hNV; + internal unsafe delegate* glTexCoord3hvNV; + internal unsafe delegate* glTexCoord3xOES; + internal unsafe delegate* glTexCoord3xvOES; + internal unsafe delegate* glTexCoord4bOES; + internal unsafe delegate* glTexCoord4bvOES; + internal unsafe delegate* glTexCoord4fColor4fNormal3fVertex4fSUN; + internal unsafe delegate* glTexCoord4fColor4fNormal3fVertex4fvSUN; + internal unsafe delegate* glTexCoord4fVertex4fSUN; + internal unsafe delegate* glTexCoord4fVertex4fvSUN; + internal unsafe delegate* glTexCoord4hNV; + internal unsafe delegate* glTexCoord4hvNV; + internal unsafe delegate* glTexCoord4xOES; + internal unsafe delegate* glTexCoord4xvOES; + internal unsafe delegate* glTexCoordFormatNV; + internal unsafe delegate* glTexCoordPointerEXT; + internal unsafe delegate* glTexCoordPointerListIBM; + internal unsafe delegate* glTexCoordPointervINTEL; + internal unsafe delegate* glTexEnvxOES; + internal unsafe delegate* glTexEnvxvOES; + internal unsafe delegate* glTexFilterFuncSGIS; + internal unsafe delegate* glTexGenxOES; + internal unsafe delegate* glTexGenxvOES; + internal unsafe delegate* glTexImage1D; + internal unsafe delegate* glTexImage2D; + internal unsafe delegate* glTexImage2DMultisample; + internal unsafe delegate* glTexImage2DMultisampleCoverageNV; + internal unsafe delegate* glTexImage3D; + internal unsafe delegate* glTexImage3DEXT; + internal unsafe delegate* glTexImage3DMultisample; + internal unsafe delegate* glTexImage3DMultisampleCoverageNV; + internal unsafe delegate* glTexImage4DSGIS; + internal unsafe delegate* glTexPageCommitmentARB; + internal unsafe delegate* glTexPageCommitmentMemNV; + internal unsafe delegate* glTexParameterIiv; + internal unsafe delegate* glTexParameterIivEXT; + internal unsafe delegate* glTexParameterIuiv; + internal unsafe delegate* glTexParameterIuivEXT; + internal unsafe delegate* glTexParameterf; + internal unsafe delegate* glTexParameterfv; + internal unsafe delegate* glTexParameteri; + internal unsafe delegate* glTexParameteriv; + internal unsafe delegate* glTexParameterxOES; + internal unsafe delegate* glTexParameterxvOES; + internal unsafe delegate* glTexRenderbufferNV; + internal unsafe delegate* glTexStorage1D; + internal unsafe delegate* glTexStorage1DEXT; + internal unsafe delegate* glTexStorage2D; + internal unsafe delegate* glTexStorage2DEXT; + internal unsafe delegate* glTexStorage2DMultisample; + internal unsafe delegate* glTexStorage3D; + internal unsafe delegate* glTexStorage3DEXT; + internal unsafe delegate* glTexStorage3DMultisample; + internal unsafe delegate* glTexStorageMem1DEXT; + internal unsafe delegate* glTexStorageMem2DEXT; + internal unsafe delegate* glTexStorageMem2DMultisampleEXT; + internal unsafe delegate* glTexStorageMem3DEXT; + internal unsafe delegate* glTexStorageMem3DMultisampleEXT; + internal unsafe delegate* glTexStorageSparseAMD; + internal unsafe delegate* glTexSubImage1D; + internal unsafe delegate* glTexSubImage1DEXT; + internal unsafe delegate* glTexSubImage2D; + internal unsafe delegate* glTexSubImage2DEXT; + internal unsafe delegate* glTexSubImage3D; + internal unsafe delegate* glTexSubImage3DEXT; + internal unsafe delegate* glTexSubImage4DSGIS; + internal unsafe delegate* glTextureAttachMemoryNV; + internal unsafe delegate* glTextureBarrier; + internal unsafe delegate* glTextureBarrierNV; + internal unsafe delegate* glTextureBuffer; + internal unsafe delegate* glTextureBufferEXT; + internal unsafe delegate* glTextureBufferRange; + internal unsafe delegate* glTextureBufferRangeEXT; + internal unsafe delegate* glTextureColorMaskSGIS; + internal unsafe delegate* glTextureImage1DEXT; + internal unsafe delegate* glTextureImage2DEXT; + internal unsafe delegate* glTextureImage2DMultisampleCoverageNV; + internal unsafe delegate* glTextureImage2DMultisampleNV; + internal unsafe delegate* glTextureImage3DEXT; + internal unsafe delegate* glTextureImage3DMultisampleCoverageNV; + internal unsafe delegate* glTextureImage3DMultisampleNV; + internal unsafe delegate* glTextureLightEXT; + internal unsafe delegate* glTextureMaterialEXT; + internal unsafe delegate* glTextureNormalEXT; + internal unsafe delegate* glTexturePageCommitmentEXT; + internal unsafe delegate* glTexturePageCommitmentMemNV; + internal unsafe delegate* glTextureParameterIiv; + internal unsafe delegate* glTextureParameterIivEXT; + internal unsafe delegate* glTextureParameterIuiv; + internal unsafe delegate* glTextureParameterIuivEXT; + internal unsafe delegate* glTextureParameterf; + internal unsafe delegate* glTextureParameterfEXT; + internal unsafe delegate* glTextureParameterfv; + internal unsafe delegate* glTextureParameterfvEXT; + internal unsafe delegate* glTextureParameteri; + internal unsafe delegate* glTextureParameteriEXT; + internal unsafe delegate* glTextureParameteriv; + internal unsafe delegate* glTextureParameterivEXT; + internal unsafe delegate* glTextureRangeAPPLE; + internal unsafe delegate* glTextureRenderbufferEXT; + internal unsafe delegate* glTextureStorage1D; + internal unsafe delegate* glTextureStorage1DEXT; + internal unsafe delegate* glTextureStorage2D; + internal unsafe delegate* glTextureStorage2DEXT; + internal unsafe delegate* glTextureStorage2DMultisample; + internal unsafe delegate* glTextureStorage2DMultisampleEXT; + internal unsafe delegate* glTextureStorage3D; + internal unsafe delegate* glTextureStorage3DEXT; + internal unsafe delegate* glTextureStorage3DMultisample; + internal unsafe delegate* glTextureStorage3DMultisampleEXT; + internal unsafe delegate* glTextureStorageMem1DEXT; + internal unsafe delegate* glTextureStorageMem2DEXT; + internal unsafe delegate* glTextureStorageMem2DMultisampleEXT; + internal unsafe delegate* glTextureStorageMem3DEXT; + internal unsafe delegate* glTextureStorageMem3DMultisampleEXT; + internal unsafe delegate* glTextureStorageSparseAMD; + internal unsafe delegate* glTextureSubImage1D; + internal unsafe delegate* glTextureSubImage1DEXT; + internal unsafe delegate* glTextureSubImage2D; + internal unsafe delegate* glTextureSubImage2DEXT; + internal unsafe delegate* glTextureSubImage3D; + internal unsafe delegate* glTextureSubImage3DEXT; + internal unsafe delegate* glTextureView; + internal unsafe delegate* glTrackMatrixNV; + internal unsafe delegate* glTransformFeedbackAttribsNV; + internal unsafe delegate* glTransformFeedbackBufferBase; + internal unsafe delegate* glTransformFeedbackBufferRange; + internal unsafe delegate* glTransformFeedbackStreamAttribsNV; + internal unsafe delegate* glTransformFeedbackVaryings; + internal unsafe delegate* glTransformFeedbackVaryingsEXT; + internal unsafe delegate* glTransformFeedbackVaryingsNV; + internal unsafe delegate* glTransformPathNV; + internal unsafe delegate* glTranslatexOES; + internal unsafe delegate* glUniform1d; + internal unsafe delegate* glUniform1dv; + internal unsafe delegate* glUniform1f; + internal unsafe delegate* glUniform1fARB; + internal unsafe delegate* glUniform1fv; + internal unsafe delegate* glUniform1fvARB; + internal unsafe delegate* glUniform1i; + internal unsafe delegate* glUniform1i64ARB; + internal unsafe delegate* glUniform1i64NV; + internal unsafe delegate* glUniform1i64vARB; + internal unsafe delegate* glUniform1i64vNV; + internal unsafe delegate* glUniform1iARB; + internal unsafe delegate* glUniform1iv; + internal unsafe delegate* glUniform1ivARB; + internal unsafe delegate* glUniform1ui; + internal unsafe delegate* glUniform1ui64ARB; + internal unsafe delegate* glUniform1ui64NV; + internal unsafe delegate* glUniform1ui64vARB; + internal unsafe delegate* glUniform1ui64vNV; + internal unsafe delegate* glUniform1uiEXT; + internal unsafe delegate* glUniform1uiv; + internal unsafe delegate* glUniform1uivEXT; + internal unsafe delegate* glUniform2d; + internal unsafe delegate* glUniform2dv; + internal unsafe delegate* glUniform2f; + internal unsafe delegate* glUniform2fARB; + internal unsafe delegate* glUniform2fv; + internal unsafe delegate* glUniform2fvARB; + internal unsafe delegate* glUniform2i; + internal unsafe delegate* glUniform2i64ARB; + internal unsafe delegate* glUniform2i64NV; + internal unsafe delegate* glUniform2i64vARB; + internal unsafe delegate* glUniform2i64vNV; + internal unsafe delegate* glUniform2iARB; + internal unsafe delegate* glUniform2iv; + internal unsafe delegate* glUniform2ivARB; + internal unsafe delegate* glUniform2ui; + internal unsafe delegate* glUniform2ui64ARB; + internal unsafe delegate* glUniform2ui64NV; + internal unsafe delegate* glUniform2ui64vARB; + internal unsafe delegate* glUniform2ui64vNV; + internal unsafe delegate* glUniform2uiEXT; + internal unsafe delegate* glUniform2uiv; + internal unsafe delegate* glUniform2uivEXT; + internal unsafe delegate* glUniform3d; + internal unsafe delegate* glUniform3dv; + internal unsafe delegate* glUniform3f; + internal unsafe delegate* glUniform3fARB; + internal unsafe delegate* glUniform3fv; + internal unsafe delegate* glUniform3fvARB; + internal unsafe delegate* glUniform3i; + internal unsafe delegate* glUniform3i64ARB; + internal unsafe delegate* glUniform3i64NV; + internal unsafe delegate* glUniform3i64vARB; + internal unsafe delegate* glUniform3i64vNV; + internal unsafe delegate* glUniform3iARB; + internal unsafe delegate* glUniform3iv; + internal unsafe delegate* glUniform3ivARB; + internal unsafe delegate* glUniform3ui; + internal unsafe delegate* glUniform3ui64ARB; + internal unsafe delegate* glUniform3ui64NV; + internal unsafe delegate* glUniform3ui64vARB; + internal unsafe delegate* glUniform3ui64vNV; + internal unsafe delegate* glUniform3uiEXT; + internal unsafe delegate* glUniform3uiv; + internal unsafe delegate* glUniform3uivEXT; + internal unsafe delegate* glUniform4d; + internal unsafe delegate* glUniform4dv; + internal unsafe delegate* glUniform4f; + internal unsafe delegate* glUniform4fARB; + internal unsafe delegate* glUniform4fv; + internal unsafe delegate* glUniform4fvARB; + internal unsafe delegate* glUniform4i; + internal unsafe delegate* glUniform4i64ARB; + internal unsafe delegate* glUniform4i64NV; + internal unsafe delegate* glUniform4i64vARB; + internal unsafe delegate* glUniform4i64vNV; + internal unsafe delegate* glUniform4iARB; + internal unsafe delegate* glUniform4iv; + internal unsafe delegate* glUniform4ivARB; + internal unsafe delegate* glUniform4ui; + internal unsafe delegate* glUniform4ui64ARB; + internal unsafe delegate* glUniform4ui64NV; + internal unsafe delegate* glUniform4ui64vARB; + internal unsafe delegate* glUniform4ui64vNV; + internal unsafe delegate* glUniform4uiEXT; + internal unsafe delegate* glUniform4uiv; + internal unsafe delegate* glUniform4uivEXT; + internal unsafe delegate* glUniformBlockBinding; + internal unsafe delegate* glUniformBufferEXT; + internal unsafe delegate* glUniformHandleui64ARB; + internal unsafe delegate* glUniformHandleui64NV; + internal unsafe delegate* glUniformHandleui64vARB; + internal unsafe delegate* glUniformHandleui64vNV; + internal unsafe delegate* glUniformMatrix2dv; + internal unsafe delegate* glUniformMatrix2fv; + internal unsafe delegate* glUniformMatrix2fvARB; + internal unsafe delegate* glUniformMatrix2x3dv; + internal unsafe delegate* glUniformMatrix2x3fv; + internal unsafe delegate* glUniformMatrix2x4dv; + internal unsafe delegate* glUniformMatrix2x4fv; + internal unsafe delegate* glUniformMatrix3dv; + internal unsafe delegate* glUniformMatrix3fv; + internal unsafe delegate* glUniformMatrix3fvARB; + internal unsafe delegate* glUniformMatrix3x2dv; + internal unsafe delegate* glUniformMatrix3x2fv; + internal unsafe delegate* glUniformMatrix3x4dv; + internal unsafe delegate* glUniformMatrix3x4fv; + internal unsafe delegate* glUniformMatrix4dv; + internal unsafe delegate* glUniformMatrix4fv; + internal unsafe delegate* glUniformMatrix4fvARB; + internal unsafe delegate* glUniformMatrix4x2dv; + internal unsafe delegate* glUniformMatrix4x2fv; + internal unsafe delegate* glUniformMatrix4x3dv; + internal unsafe delegate* glUniformMatrix4x3fv; + internal unsafe delegate* glUniformSubroutinesuiv; + internal unsafe delegate* glUniformui64NV; + internal unsafe delegate* glUniformui64vNV; + internal unsafe delegate* glUnlockArraysEXT; + internal unsafe delegate* glUnmapBuffer; + internal unsafe delegate* glUnmapBufferARB; + internal unsafe delegate* glUnmapNamedBuffer; + internal unsafe delegate* glUnmapNamedBufferEXT; + internal unsafe delegate* glUnmapObjectBufferATI; + internal unsafe delegate* glUnmapTexture2DINTEL; + internal unsafe delegate* glUpdateObjectBufferATI; + internal unsafe delegate* glUploadGpuMaskNVX; + internal unsafe delegate* glUseProgram; + internal unsafe delegate* glUseProgramObjectARB; + internal unsafe delegate* glUseProgramStages; + internal unsafe delegate* glUseShaderProgramEXT; + internal unsafe delegate* glVDPAUFiniNV; + internal unsafe delegate* glVDPAUGetSurfaceivNV; + internal unsafe delegate* glVDPAUInitNV; + internal unsafe delegate* glVDPAUIsSurfaceNV; + internal unsafe delegate* glVDPAUMapSurfacesNV; + internal unsafe delegate* glVDPAURegisterOutputSurfaceNV; + internal unsafe delegate* glVDPAURegisterVideoSurfaceNV; + internal unsafe delegate* glVDPAURegisterVideoSurfaceWithPictureStructureNV; + internal unsafe delegate* glVDPAUSurfaceAccessNV; + internal unsafe delegate* glVDPAUUnmapSurfacesNV; + internal unsafe delegate* glVDPAUUnregisterSurfaceNV; + internal unsafe delegate* glValidateProgram; + internal unsafe delegate* glValidateProgramARB; + internal unsafe delegate* glValidateProgramPipeline; + internal unsafe delegate* glVariantArrayObjectATI; + internal unsafe delegate* glVariantPointerEXT; + internal unsafe delegate* glVariantbvEXT; + internal unsafe delegate* glVariantdvEXT; + internal unsafe delegate* glVariantfvEXT; + internal unsafe delegate* glVariantivEXT; + internal unsafe delegate* glVariantsvEXT; + internal unsafe delegate* glVariantubvEXT; + internal unsafe delegate* glVariantuivEXT; + internal unsafe delegate* glVariantusvEXT; + internal unsafe delegate* glVertex2bOES; + internal unsafe delegate* glVertex2bvOES; + internal unsafe delegate* glVertex2hNV; + internal unsafe delegate* glVertex2hvNV; + internal unsafe delegate* glVertex2xOES; + internal unsafe delegate* glVertex2xvOES; + internal unsafe delegate* glVertex3bOES; + internal unsafe delegate* glVertex3bvOES; + internal unsafe delegate* glVertex3hNV; + internal unsafe delegate* glVertex3hvNV; + internal unsafe delegate* glVertex3xOES; + internal unsafe delegate* glVertex3xvOES; + internal unsafe delegate* glVertex4bOES; + internal unsafe delegate* glVertex4bvOES; + internal unsafe delegate* glVertex4hNV; + internal unsafe delegate* glVertex4hvNV; + internal unsafe delegate* glVertex4xOES; + internal unsafe delegate* glVertex4xvOES; + internal unsafe delegate* glVertexArrayAttribBinding; + internal unsafe delegate* glVertexArrayAttribFormat; + internal unsafe delegate* glVertexArrayAttribIFormat; + internal unsafe delegate* glVertexArrayAttribLFormat; + internal unsafe delegate* glVertexArrayBindVertexBufferEXT; + internal unsafe delegate* glVertexArrayBindingDivisor; + internal unsafe delegate* glVertexArrayColorOffsetEXT; + internal unsafe delegate* glVertexArrayEdgeFlagOffsetEXT; + internal unsafe delegate* glVertexArrayElementBuffer; + internal unsafe delegate* glVertexArrayFogCoordOffsetEXT; + internal unsafe delegate* glVertexArrayIndexOffsetEXT; + internal unsafe delegate* glVertexArrayMultiTexCoordOffsetEXT; + internal unsafe delegate* glVertexArrayNormalOffsetEXT; + internal unsafe delegate* glVertexArrayParameteriAPPLE; + internal unsafe delegate* glVertexArrayRangeAPPLE; + internal unsafe delegate* glVertexArrayRangeNV; + internal unsafe delegate* glVertexArraySecondaryColorOffsetEXT; + internal unsafe delegate* glVertexArrayTexCoordOffsetEXT; + internal unsafe delegate* glVertexArrayVertexAttribBindingEXT; + internal unsafe delegate* glVertexArrayVertexAttribDivisorEXT; + internal unsafe delegate* glVertexArrayVertexAttribFormatEXT; + internal unsafe delegate* glVertexArrayVertexAttribIFormatEXT; + internal unsafe delegate* glVertexArrayVertexAttribIOffsetEXT; + internal unsafe delegate* glVertexArrayVertexAttribLFormatEXT; + internal unsafe delegate* glVertexArrayVertexAttribLOffsetEXT; + internal unsafe delegate* glVertexArrayVertexAttribOffsetEXT; + internal unsafe delegate* glVertexArrayVertexBindingDivisorEXT; + internal unsafe delegate* glVertexArrayVertexBuffer; + internal unsafe delegate* glVertexArrayVertexBuffers; + internal unsafe delegate* glVertexArrayVertexOffsetEXT; + internal unsafe delegate* glVertexAttrib1d; + internal unsafe delegate* glVertexAttrib1dARB; + internal unsafe delegate* glVertexAttrib1dNV; + internal unsafe delegate* glVertexAttrib1dv; + internal unsafe delegate* glVertexAttrib1dvARB; + internal unsafe delegate* glVertexAttrib1dvNV; + internal unsafe delegate* glVertexAttrib1f; + internal unsafe delegate* glVertexAttrib1fARB; + internal unsafe delegate* glVertexAttrib1fNV; + internal unsafe delegate* glVertexAttrib1fv; + internal unsafe delegate* glVertexAttrib1fvARB; + internal unsafe delegate* glVertexAttrib1fvNV; + internal unsafe delegate* glVertexAttrib1hNV; + internal unsafe delegate* glVertexAttrib1hvNV; + internal unsafe delegate* glVertexAttrib1s; + internal unsafe delegate* glVertexAttrib1sARB; + internal unsafe delegate* glVertexAttrib1sNV; + internal unsafe delegate* glVertexAttrib1sv; + internal unsafe delegate* glVertexAttrib1svARB; + internal unsafe delegate* glVertexAttrib1svNV; + internal unsafe delegate* glVertexAttrib2d; + internal unsafe delegate* glVertexAttrib2dARB; + internal unsafe delegate* glVertexAttrib2dNV; + internal unsafe delegate* glVertexAttrib2dv; + internal unsafe delegate* glVertexAttrib2dvARB; + internal unsafe delegate* glVertexAttrib2dvNV; + internal unsafe delegate* glVertexAttrib2f; + internal unsafe delegate* glVertexAttrib2fARB; + internal unsafe delegate* glVertexAttrib2fNV; + internal unsafe delegate* glVertexAttrib2fv; + internal unsafe delegate* glVertexAttrib2fvARB; + internal unsafe delegate* glVertexAttrib2fvNV; + internal unsafe delegate* glVertexAttrib2hNV; + internal unsafe delegate* glVertexAttrib2hvNV; + internal unsafe delegate* glVertexAttrib2s; + internal unsafe delegate* glVertexAttrib2sARB; + internal unsafe delegate* glVertexAttrib2sNV; + internal unsafe delegate* glVertexAttrib2sv; + internal unsafe delegate* glVertexAttrib2svARB; + internal unsafe delegate* glVertexAttrib2svNV; + internal unsafe delegate* glVertexAttrib3d; + internal unsafe delegate* glVertexAttrib3dARB; + internal unsafe delegate* glVertexAttrib3dNV; + internal unsafe delegate* glVertexAttrib3dv; + internal unsafe delegate* glVertexAttrib3dvARB; + internal unsafe delegate* glVertexAttrib3dvNV; + internal unsafe delegate* glVertexAttrib3f; + internal unsafe delegate* glVertexAttrib3fARB; + internal unsafe delegate* glVertexAttrib3fNV; + internal unsafe delegate* glVertexAttrib3fv; + internal unsafe delegate* glVertexAttrib3fvARB; + internal unsafe delegate* glVertexAttrib3fvNV; + internal unsafe delegate* glVertexAttrib3hNV; + internal unsafe delegate* glVertexAttrib3hvNV; + internal unsafe delegate* glVertexAttrib3s; + internal unsafe delegate* glVertexAttrib3sARB; + internal unsafe delegate* glVertexAttrib3sNV; + internal unsafe delegate* glVertexAttrib3sv; + internal unsafe delegate* glVertexAttrib3svARB; + internal unsafe delegate* glVertexAttrib3svNV; + internal unsafe delegate* glVertexAttrib4Nbv; + internal unsafe delegate* glVertexAttrib4NbvARB; + internal unsafe delegate* glVertexAttrib4Niv; + internal unsafe delegate* glVertexAttrib4NivARB; + internal unsafe delegate* glVertexAttrib4Nsv; + internal unsafe delegate* glVertexAttrib4NsvARB; + internal unsafe delegate* glVertexAttrib4Nub; + internal unsafe delegate* glVertexAttrib4NubARB; + internal unsafe delegate* glVertexAttrib4Nubv; + internal unsafe delegate* glVertexAttrib4NubvARB; + internal unsafe delegate* glVertexAttrib4Nuiv; + internal unsafe delegate* glVertexAttrib4NuivARB; + internal unsafe delegate* glVertexAttrib4Nusv; + internal unsafe delegate* glVertexAttrib4NusvARB; + internal unsafe delegate* glVertexAttrib4bv; + internal unsafe delegate* glVertexAttrib4bvARB; + internal unsafe delegate* glVertexAttrib4d; + internal unsafe delegate* glVertexAttrib4dARB; + internal unsafe delegate* glVertexAttrib4dNV; + internal unsafe delegate* glVertexAttrib4dv; + internal unsafe delegate* glVertexAttrib4dvARB; + internal unsafe delegate* glVertexAttrib4dvNV; + internal unsafe delegate* glVertexAttrib4f; + internal unsafe delegate* glVertexAttrib4fARB; + internal unsafe delegate* glVertexAttrib4fNV; + internal unsafe delegate* glVertexAttrib4fv; + internal unsafe delegate* glVertexAttrib4fvARB; + internal unsafe delegate* glVertexAttrib4fvNV; + internal unsafe delegate* glVertexAttrib4hNV; + internal unsafe delegate* glVertexAttrib4hvNV; + internal unsafe delegate* glVertexAttrib4iv; + internal unsafe delegate* glVertexAttrib4ivARB; + internal unsafe delegate* glVertexAttrib4s; + internal unsafe delegate* glVertexAttrib4sARB; + internal unsafe delegate* glVertexAttrib4sNV; + internal unsafe delegate* glVertexAttrib4sv; + internal unsafe delegate* glVertexAttrib4svARB; + internal unsafe delegate* glVertexAttrib4svNV; + internal unsafe delegate* glVertexAttrib4ubNV; + internal unsafe delegate* glVertexAttrib4ubv; + internal unsafe delegate* glVertexAttrib4ubvARB; + internal unsafe delegate* glVertexAttrib4ubvNV; + internal unsafe delegate* glVertexAttrib4uiv; + internal unsafe delegate* glVertexAttrib4uivARB; + internal unsafe delegate* glVertexAttrib4usv; + internal unsafe delegate* glVertexAttrib4usvARB; + internal unsafe delegate* glVertexAttribArrayObjectATI; + internal unsafe delegate* glVertexAttribBinding; + internal unsafe delegate* glVertexAttribDivisor; + internal unsafe delegate* glVertexAttribDivisorARB; + internal unsafe delegate* glVertexAttribFormat; + internal unsafe delegate* glVertexAttribFormatNV; + internal unsafe delegate* glVertexAttribI1i; + internal unsafe delegate* glVertexAttribI1iEXT; + internal unsafe delegate* glVertexAttribI1iv; + internal unsafe delegate* glVertexAttribI1ivEXT; + internal unsafe delegate* glVertexAttribI1ui; + internal unsafe delegate* glVertexAttribI1uiEXT; + internal unsafe delegate* glVertexAttribI1uiv; + internal unsafe delegate* glVertexAttribI1uivEXT; + internal unsafe delegate* glVertexAttribI2i; + internal unsafe delegate* glVertexAttribI2iEXT; + internal unsafe delegate* glVertexAttribI2iv; + internal unsafe delegate* glVertexAttribI2ivEXT; + internal unsafe delegate* glVertexAttribI2ui; + internal unsafe delegate* glVertexAttribI2uiEXT; + internal unsafe delegate* glVertexAttribI2uiv; + internal unsafe delegate* glVertexAttribI2uivEXT; + internal unsafe delegate* glVertexAttribI3i; + internal unsafe delegate* glVertexAttribI3iEXT; + internal unsafe delegate* glVertexAttribI3iv; + internal unsafe delegate* glVertexAttribI3ivEXT; + internal unsafe delegate* glVertexAttribI3ui; + internal unsafe delegate* glVertexAttribI3uiEXT; + internal unsafe delegate* glVertexAttribI3uiv; + internal unsafe delegate* glVertexAttribI3uivEXT; + internal unsafe delegate* glVertexAttribI4bv; + internal unsafe delegate* glVertexAttribI4bvEXT; + internal unsafe delegate* glVertexAttribI4i; + internal unsafe delegate* glVertexAttribI4iEXT; + internal unsafe delegate* glVertexAttribI4iv; + internal unsafe delegate* glVertexAttribI4ivEXT; + internal unsafe delegate* glVertexAttribI4sv; + internal unsafe delegate* glVertexAttribI4svEXT; + internal unsafe delegate* glVertexAttribI4ubv; + internal unsafe delegate* glVertexAttribI4ubvEXT; + internal unsafe delegate* glVertexAttribI4ui; + internal unsafe delegate* glVertexAttribI4uiEXT; + internal unsafe delegate* glVertexAttribI4uiv; + internal unsafe delegate* glVertexAttribI4uivEXT; + internal unsafe delegate* glVertexAttribI4usv; + internal unsafe delegate* glVertexAttribI4usvEXT; + internal unsafe delegate* glVertexAttribIFormat; + internal unsafe delegate* glVertexAttribIFormatNV; + internal unsafe delegate* glVertexAttribIPointer; + internal unsafe delegate* glVertexAttribIPointerEXT; + internal unsafe delegate* glVertexAttribL1d; + internal unsafe delegate* glVertexAttribL1dEXT; + internal unsafe delegate* glVertexAttribL1dv; + internal unsafe delegate* glVertexAttribL1dvEXT; + internal unsafe delegate* glVertexAttribL1i64NV; + internal unsafe delegate* glVertexAttribL1i64vNV; + internal unsafe delegate* glVertexAttribL1ui64ARB; + internal unsafe delegate* glVertexAttribL1ui64NV; + internal unsafe delegate* glVertexAttribL1ui64vARB; + internal unsafe delegate* glVertexAttribL1ui64vNV; + internal unsafe delegate* glVertexAttribL2d; + internal unsafe delegate* glVertexAttribL2dEXT; + internal unsafe delegate* glVertexAttribL2dv; + internal unsafe delegate* glVertexAttribL2dvEXT; + internal unsafe delegate* glVertexAttribL2i64NV; + internal unsafe delegate* glVertexAttribL2i64vNV; + internal unsafe delegate* glVertexAttribL2ui64NV; + internal unsafe delegate* glVertexAttribL2ui64vNV; + internal unsafe delegate* glVertexAttribL3d; + internal unsafe delegate* glVertexAttribL3dEXT; + internal unsafe delegate* glVertexAttribL3dv; + internal unsafe delegate* glVertexAttribL3dvEXT; + internal unsafe delegate* glVertexAttribL3i64NV; + internal unsafe delegate* glVertexAttribL3i64vNV; + internal unsafe delegate* glVertexAttribL3ui64NV; + internal unsafe delegate* glVertexAttribL3ui64vNV; + internal unsafe delegate* glVertexAttribL4d; + internal unsafe delegate* glVertexAttribL4dEXT; + internal unsafe delegate* glVertexAttribL4dv; + internal unsafe delegate* glVertexAttribL4dvEXT; + internal unsafe delegate* glVertexAttribL4i64NV; + internal unsafe delegate* glVertexAttribL4i64vNV; + internal unsafe delegate* glVertexAttribL4ui64NV; + internal unsafe delegate* glVertexAttribL4ui64vNV; + internal unsafe delegate* glVertexAttribLFormat; + internal unsafe delegate* glVertexAttribLFormatNV; + internal unsafe delegate* glVertexAttribLPointer; + internal unsafe delegate* glVertexAttribLPointerEXT; + internal unsafe delegate* glVertexAttribP1ui; + internal unsafe delegate* glVertexAttribP1uiv; + internal unsafe delegate* glVertexAttribP2ui; + internal unsafe delegate* glVertexAttribP2uiv; + internal unsafe delegate* glVertexAttribP3ui; + internal unsafe delegate* glVertexAttribP3uiv; + internal unsafe delegate* glVertexAttribP4ui; + internal unsafe delegate* glVertexAttribP4uiv; + internal unsafe delegate* glVertexAttribParameteriAMD; + internal unsafe delegate* glVertexAttribPointer; + internal unsafe delegate* glVertexAttribPointerARB; + internal unsafe delegate* glVertexAttribPointerNV; + internal unsafe delegate* glVertexAttribs1dvNV; + internal unsafe delegate* glVertexAttribs1fvNV; + internal unsafe delegate* glVertexAttribs1hvNV; + internal unsafe delegate* glVertexAttribs1svNV; + internal unsafe delegate* glVertexAttribs2dvNV; + internal unsafe delegate* glVertexAttribs2fvNV; + internal unsafe delegate* glVertexAttribs2hvNV; + internal unsafe delegate* glVertexAttribs2svNV; + internal unsafe delegate* glVertexAttribs3dvNV; + internal unsafe delegate* glVertexAttribs3fvNV; + internal unsafe delegate* glVertexAttribs3hvNV; + internal unsafe delegate* glVertexAttribs3svNV; + internal unsafe delegate* glVertexAttribs4dvNV; + internal unsafe delegate* glVertexAttribs4fvNV; + internal unsafe delegate* glVertexAttribs4hvNV; + internal unsafe delegate* glVertexAttribs4svNV; + internal unsafe delegate* glVertexAttribs4ubvNV; + internal unsafe delegate* glVertexBindingDivisor; + internal unsafe delegate* glVertexBlendARB; + internal unsafe delegate* glVertexBlendEnvfATI; + internal unsafe delegate* glVertexBlendEnviATI; + internal unsafe delegate* glVertexFormatNV; + internal unsafe delegate* glVertexPointerEXT; + internal unsafe delegate* glVertexPointerListIBM; + internal unsafe delegate* glVertexPointervINTEL; + internal unsafe delegate* glVertexStream1dATI; + internal unsafe delegate* glVertexStream1dvATI; + internal unsafe delegate* glVertexStream1fATI; + internal unsafe delegate* glVertexStream1fvATI; + internal unsafe delegate* glVertexStream1iATI; + internal unsafe delegate* glVertexStream1ivATI; + internal unsafe delegate* glVertexStream1sATI; + internal unsafe delegate* glVertexStream1svATI; + internal unsafe delegate* glVertexStream2dATI; + internal unsafe delegate* glVertexStream2dvATI; + internal unsafe delegate* glVertexStream2fATI; + internal unsafe delegate* glVertexStream2fvATI; + internal unsafe delegate* glVertexStream2iATI; + internal unsafe delegate* glVertexStream2ivATI; + internal unsafe delegate* glVertexStream2sATI; + internal unsafe delegate* glVertexStream2svATI; + internal unsafe delegate* glVertexStream3dATI; + internal unsafe delegate* glVertexStream3dvATI; + internal unsafe delegate* glVertexStream3fATI; + internal unsafe delegate* glVertexStream3fvATI; + internal unsafe delegate* glVertexStream3iATI; + internal unsafe delegate* glVertexStream3ivATI; + internal unsafe delegate* glVertexStream3sATI; + internal unsafe delegate* glVertexStream3svATI; + internal unsafe delegate* glVertexStream4dATI; + internal unsafe delegate* glVertexStream4dvATI; + internal unsafe delegate* glVertexStream4fATI; + internal unsafe delegate* glVertexStream4fvATI; + internal unsafe delegate* glVertexStream4iATI; + internal unsafe delegate* glVertexStream4ivATI; + internal unsafe delegate* glVertexStream4sATI; + internal unsafe delegate* glVertexStream4svATI; + internal unsafe delegate* glVertexWeightPointerEXT; + internal unsafe delegate* glVertexWeightfEXT; + internal unsafe delegate* glVertexWeightfvEXT; + internal unsafe delegate* glVertexWeighthNV; + internal unsafe delegate* glVertexWeighthvNV; + internal unsafe delegate* glVideoCaptureNV; + internal unsafe delegate* glVideoCaptureStreamParameterdvNV; + internal unsafe delegate* glVideoCaptureStreamParameterfvNV; + internal unsafe delegate* glVideoCaptureStreamParameterivNV; + internal unsafe delegate* glViewport; + internal unsafe delegate* glViewportArrayv; + internal unsafe delegate* glViewportIndexedf; + internal unsafe delegate* glViewportIndexedfv; + internal unsafe delegate* glViewportPositionWScaleNV; + internal unsafe delegate* glViewportSwizzleNV; + internal unsafe delegate* glWaitSemaphoreEXT; + internal unsafe delegate* glWaitSemaphoreui64NVX; + internal unsafe delegate* glWaitSync; + internal unsafe delegate* glWaitVkSemaphoreNV; + internal unsafe delegate* glWeightPathsNV; + internal unsafe delegate* glWeightPointerARB; + internal unsafe delegate* glWeightbvARB; + internal unsafe delegate* glWeightdvARB; + internal unsafe delegate* glWeightfvARB; + internal unsafe delegate* glWeightivARB; + internal unsafe delegate* glWeightsvARB; + internal unsafe delegate* glWeightubvARB; + internal unsafe delegate* glWeightuivARB; + internal unsafe delegate* glWeightusvARB; + internal unsafe delegate* glWindowPos2dARB; + internal unsafe delegate* glWindowPos2dMESA; + internal unsafe delegate* glWindowPos2dvARB; + internal unsafe delegate* glWindowPos2dvMESA; + internal unsafe delegate* glWindowPos2fARB; + internal unsafe delegate* glWindowPos2fMESA; + internal unsafe delegate* glWindowPos2fvARB; + internal unsafe delegate* glWindowPos2fvMESA; + internal unsafe delegate* glWindowPos2iARB; + internal unsafe delegate* glWindowPos2iMESA; + internal unsafe delegate* glWindowPos2ivARB; + internal unsafe delegate* glWindowPos2ivMESA; + internal unsafe delegate* glWindowPos2sARB; + internal unsafe delegate* glWindowPos2sMESA; + internal unsafe delegate* glWindowPos2svARB; + internal unsafe delegate* glWindowPos2svMESA; + internal unsafe delegate* glWindowPos3dARB; + internal unsafe delegate* glWindowPos3dMESA; + internal unsafe delegate* glWindowPos3dvARB; + internal unsafe delegate* glWindowPos3dvMESA; + internal unsafe delegate* glWindowPos3fARB; + internal unsafe delegate* glWindowPos3fMESA; + internal unsafe delegate* glWindowPos3fvARB; + internal unsafe delegate* glWindowPos3fvMESA; + internal unsafe delegate* glWindowPos3iARB; + internal unsafe delegate* glWindowPos3iMESA; + internal unsafe delegate* glWindowPos3ivARB; + internal unsafe delegate* glWindowPos3ivMESA; + internal unsafe delegate* glWindowPos3sARB; + internal unsafe delegate* glWindowPos3sMESA; + internal unsafe delegate* glWindowPos3svARB; + internal unsafe delegate* glWindowPos3svMESA; + internal unsafe delegate* glWindowPos4dMESA; + internal unsafe delegate* glWindowPos4dvMESA; + internal unsafe delegate* glWindowPos4fMESA; + internal unsafe delegate* glWindowPos4fvMESA; + internal unsafe delegate* glWindowPos4iMESA; + internal unsafe delegate* glWindowPos4ivMESA; + internal unsafe delegate* glWindowPos4sMESA; + internal unsafe delegate* glWindowPos4svMESA; + internal unsafe delegate* glWindowRectanglesEXT; + internal unsafe delegate* glWriteMaskEXT; + + #endregion glapi + + public override bool Equals(object obj) + { + return false; + } + + public unsafe override int GetHashCode() + { + fixed (GLcontext* sptr = &this) + { + return sptr->GetHashCode(); + } + } + + public static bool operator ==(GLcontext left, GLcontext right) + { + return left.Equals(right); + } + + public static bool operator !=(GLcontext left, GLcontext right) + { + return !(left == right); + } + } +} \ No newline at end of file diff --git a/源代码/StgSharp/Controlling/IO/InternalIO.cs b/源代码/StgSharp/Controlling/IO/InternalIO.cs new file mode 100644 index 00000000..b3a37e34 --- /dev/null +++ b/源代码/StgSharp/Controlling/IO/InternalIO.cs @@ -0,0 +1,155 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="InternalIO.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Graphics.GL; + +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Threading; + +#if Windows + +#endif + +namespace StgSharp +{ + public enum LogType + { + Error, + Warning, + Info, + InfoError, + InfoWarning, + } + + internal static unsafe partial class InternalIO + { + internal const string SS_errorLog = + "SS_errorlog.log"; + + internal const string SSC_libName = + "StgSharpC"; + + internal static Dictionary GLtype = + new Dictionary(); + + internal static SemaphoreSlim logSyncSemaphore = new SemaphoreSlim(1, 1); + + internal static readonly GCHandle ssc_logHandle = + GCHandle.Alloc(new byte[512], GCHandleType.Pinned); + + internal static IntPtr SSClibPtr = IntPtr.Zero; + + static InternalIO() + { + GLtype.Add(TypeCode.Single, GLconst.FLOAT); + GLtype.Add(TypeCode.Int32, GLconst.INT); + GLtype.Add(TypeCode.UInt32, GLconst.UNSIGNED_INT); + GLtype.Add(TypeCode.Int16, GLconst.SHORT); + GLtype.Add(TypeCode.UInt16, GLconst.UNSIGNED_SHORT); + GLtype.Add(TypeCode.SByte, GLconst.BYTE); + GLtype.Add(TypeCode.Byte, GLconst.UNSIGNED_BYTE); + } + + internal static void InternalAppendLog(string log) + { + if (!File.Exists(SS_errorLog)) + { + FileStream stream = File.Create(SS_errorLog); + stream.Close(); + } + + using (StreamWriter logStream = File.AppendText(SS_errorLog)) + { + logStream.WriteLine(log); + } + } + + [Obsolete("Not completed", true)] + internal static IntPtr InternalLoadProc(IntPtr lib, string name) where T : Delegate + { + try + { + IntPtr procPtr = +#if Windows + IntPtr.Zero; +#elif Linux + +#endif + return procPtr; + } + catch (Exception) + { + throw; + } + } + + internal static void InternalWriteLog(string logLine, LogType logType) + { + logSyncSemaphore.Wait(); + if (!File.Exists(SS_errorLog)) + { + FileStream stream = File.Create(SS_errorLog); + stream.Close(); + } + + using (StreamWriter logStream = File.AppendText(SS_errorLog)) + { + logStream.WriteLine($"{logType}\t{DateTime.Now.ToString("o")}"); + logStream.WriteLine(logLine); + } + logSyncSemaphore.Release(); + } + + internal static void InternalWriteLog(string beforeTime, string logLine, LogType logType) + { + logSyncSemaphore.Wait(); + if (!File.Exists(InternalIO.SS_errorLog)) + { + FileStream stream = File.Create(InternalIO.SS_errorLog); + stream.Close(); + } + + using (StreamWriter logStream = File.AppendText(SS_errorLog)) + { + logStream.WriteLine(beforeTime); + logStream.WriteLine($"{logType}\t@\t{DateTime.Now.ToString("o")}"); + logStream.WriteLine(logLine); + } + logSyncSemaphore.Release(1); + } + + } +} \ No newline at end of file diff --git a/源代码/StgSharp/Controlling/KeyControl.cs b/源代码/StgSharp/Controlling/KeyControl.cs new file mode 100644 index 00000000..d97f555d --- /dev/null +++ b/源代码/StgSharp/Controlling/KeyControl.cs @@ -0,0 +1,220 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="KeyControl.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Graphics; + +using System; + +namespace StgSharp +{ + public enum KeyboardKey : int + { + UNKNOWN = -1, + None = 0, + SPACE = 32, + APOSTROPHE = 39/*'*/, + COMMA = 44/*,*/, + MINUS = 45/*-*/, + PERIOD = 46/*.*/, + SLASH = 47/*/*/, + ZERO = 48, + ONE = 49, + TWO = 50, + THREE = 51, + FOUR = 52, + FIVE = 53, + SIX = 54, + SEVEN = 55, + EIGHT = 56, + NINE = 57, + SEMICOLON = 59/*,*/, + EQUAL = 61/*=*/, + A = 65, + B = 66, + C = 67, + D = 68, + E = 69, + F = 70, + G = 71, + H = 72, + I = 73, + J = 74, + K = 75, + L = 76, + M = 77, + N = 78, + O = 79, + P = 80, + Q = 81, + R = 82, + S = 83, + T = 84, + U = 85, + V = 86, + W = 87, + X = 88, + Y = 89, + Z = 90, + LeftBracket = 91/*[*/, + BACKSLASH = 92/*\*/, + RightBracket = 93/*]*/, + GraveAccent = 96/*`*/, + World1 = 161/*non-US#1*/, + World2 = 162/*non-US#2*/, + ESCAPE = 256, + ENTER = 257, + TAB = 258, + BACKSPACE = 259, + INSERT = 260, + DELETE = 261, + RIGHT = 262, + LEFT = 263, + DOWN = 264, + UP = 265, + PgUp = 266, + PgDown = 267, + HOME = 268, + END = 269, + CapsLock = 280, + ScrollLock = 281, + NumLock = 282, + PrintScreen = 283, + PAUSE = 284, + F1 = 290, + F2 = 291, + F3 = 292, + F4 = 293, + F5 = 294, + F6 = 295, + F7 = 296, + F8 = 297, + F9 = 298, + F10 = 299, + F11 = 300, + F12 = 301, + F13 = 302, + F14 = 303, + F15 = 304, + F16 = 305, + F17 = 306, + F18 = 307, + F19 = 308, + F20 = 309, + F21 = 310, + F22 = 311, + F23 = 312, + F24 = 313, + F25 = 314, + NumPad0 = 320, + NumPad1 = 321, + NumPad2 = 322, + NumPad3 = 323, + NumPad4 = 324, + NumPad5 = 325, + NumPad6 = 326, + NumPad7 = 327, + NumPad8 = 328, + NumPad9 = 329, + NumPadDec = 330, + NumPadSiv = 331, + NumPadMul = 332, + NumPadSub = 333, + NumPadAdd = 334, + NumPadAnter = 335, + NumPadEqual = 336, + LeftShift = 340, + LeftControl = 341, + LeftAlt = 342, + LeftSuper = 343, + RightShift = 344, + RightControl = 345, + RightAlt = 346, + RightSuper = 347, + Menu = 348 + } + +#pragma warning disable CA1707 +#pragma warning disable CA1712 +#pragma warning disable CA1008 + [System.Flags] + public enum Joystick : int + { + JOYSTICK_1 = 0, + JOYSTICK_2 = 1, + JOYSTICK_3 = 2, + JOYSTICK_4 = 3, + JOYSTICK_5 = 4, + JOYSTICK_6 = 5, + JOYSTICK_7 = 6, + JOYSTICK_8 = 7, + JOYSTICK_9 = 8, + JOYSTICK_10 = 9, + JOYSTICK_11 = 10, + JOYSTICK_12 = 11, + JOYSTICK_13 = 12, + JOYSTICK_14 = 13, + JOYSTICK_15 = 14, + JOYSTICK_16 = 15, + JOYSTICK_LAST = JOYSTICK_16 + } + + [System.Flags] + public enum Mouse : int + { + BUTTON_1 = 0, + BUTTON_2 = 1, + BUTTON_3 = 2, + BUTTON_4 = 3, + BUTTON_5 = 4, + BUTTON_6 = 5, + BUTTON_7 = 6, + BUTTON_8 = 7, + BUTTON_LAST = BUTTON_8, + BUTTON_LEFT = BUTTON_1, + BUTTON_RIGHT = BUTTON_2, + BUTTON_MIDDLE = BUTTON_3 + } +#pragma warning restore CA1707 +#pragma warning restore CA1712 +#pragma warning restore CA7008 + + internal enum InputEquipment + { + Keyboard, + Mouse, + Joystick + } + + public enum KeyStatus : int + { + RELEASE = 0, + PRESS = 1 + } +} diff --git a/源代码/StgSharp/Controlling/KeyEventAttribute.cs b/源代码/StgSharp/Controlling/KeyEventAttribute.cs new file mode 100644 index 00000000..2579998f --- /dev/null +++ b/源代码/StgSharp/Controlling/KeyEventAttribute.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp +{ + [AttributeUsage( AttributeTargets.Method)] + public class KeyEventAttribute:Attribute + { + internal int _keyTarget; + internal int _equipment; + internal int _keyStat; + + public KeyEventAttribute(KeyboardKey key ,KeyStatus status) + { + _equipment = (int)InputEquipment.Keyboard; + _keyTarget = (int)key; + _keyStat = (int)status; + } + + public KeyEventAttribute(Joystick joystick, KeyStatus status) + { + _equipment = (int)InputEquipment.Keyboard; + _keyTarget = (int)joystick; + _keyStat = (int)status; + } + + public KeyEventAttribute(Mouse mouse, KeyStatus status) + { + _equipment = (int)InputEquipment.Keyboard; + _keyTarget = (int)mouse; + _keyStat = (int)status; + } + + } + +} diff --git a/源代码/StgSharp/Controlling/ProcessInput.cs b/源代码/StgSharp/Controlling/ProcessInput.cs new file mode 100644 index 00000000..03f34c56 --- /dev/null +++ b/源代码/StgSharp/Controlling/ProcessInput.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Graphics +{ + + + public partial class ViewModel + { + Dictionary keyEventDictionary = new Dictionary(); + + internal void InternalLoadInput(MethodInfo[] methods) + { + if (methods.Length == 0) + { + return; + } + foreach (MethodInfo m in methods) //find all methods decorated by RenderActivityAttribute + { + KeyEventAttribute attr = m.GetCustomAttribute(false); + if (attr == null) + { + continue; + } + if (!m.IsStatic && (m.GetParameters().Length != 0) && (m.ReturnType != typeof(void))) + { + throw new NotSupportedException("A render activity cannot have parameters, returning value or be static."); + } + } + } + + internal void InternalProcessInput() + { + + } + + } + + public delegate void KeyBoardEvent(KeyboardKey key, KeyStatus status); + public delegate void MouseEvent(Mouse mouse, KeyStatus status); + public delegate void JoystickEvent(Joystick joystick, KeyStatus status); + +} diff --git a/源代码/StgSharp/Data/InternalData.cs b/源代码/StgSharp/Data/InternalData.cs new file mode 100644 index 00000000..cfc94781 --- /dev/null +++ b/源代码/StgSharp/Data/InternalData.cs @@ -0,0 +1,14 @@ +using StgSharp; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp +{ + internal partial class InternalIO + { + internal const string CollisionTextureVertexShader ="#version 430 core\r\n\r\nlayout(location = 0) in vec2 localCollisionCoord;\r\nlayout(location = 1) in vec2 spaceCoord;\r\nlayout(location = 2) in float rotation;\r\nlayout(location = 3) in float scaling;\r\n\r\nuniform vec2 target;\r\nuniform mat2 projection;\r\n\r\nvoid main()\r\n{\r\n mat2 scaling = mat2(\r\n scaling,0,\r\n 0,scaling\r\n );\r\n mat2 rotation = mat2(\r\n cos(rotation),-sin(rotation),\r\n sin(rotation),cos(rotation) \r\n );\r\n vec2 realCoord = (rotation * scaling * localCollisionCoord) + spaceCoord - target;\r\n realCoord = projection * realCoord;\r\n\r\n float dist = distance(realCoord, vec2(0,0));\r\n float angle = atan(realCoord.y, realCoord.x);\r\n \r\n gl_Position = vec4(angle, realCoord.y, dist, 1);\r\n}"; + internal const string CollisionTextureFragmentShader = "#version 430 core\r\n\r\nout vec4 Color;\r\n\r\nuniform float range;\r\n\r\nvoid main()\r\n{\r\n float dist = gl_FragCoord.z;\r\n\r\n if(dist > range)\r\n {\r\n discard;\r\n }\r\n dist /= range;\r\n gl_FragDepth = min(dist, gl_FragDepth);\r\n\r\n Color = vec4(dist,0,0,1);\r\n}"; + } +} diff --git a/源代码/StgSharp/Entities/EliteEnemy.cs b/源代码/StgSharp/Entities/EliteEnemy.cs index 255140c3..fd0988bc 100644 --- a/源代码/StgSharp/Entities/EliteEnemy.cs +++ b/源代码/StgSharp/Entities/EliteEnemy.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using System; using System.Collections.Generic; @@ -67,11 +67,6 @@ namespace StgSharp.Entities new NotImplementedException(); } - internal void InternalDieOperation(Control home) - { - _dieBulletLauncher.Launch(); - _awardLauncher.Launch(); - } } } \ No newline at end of file diff --git a/源代码/StgSharp/Entities/Enemy.cs b/源代码/StgSharp/Entities/Enemy.cs index 2cbfa718..503cd257 100644 --- a/源代码/StgSharp/Entities/Enemy.cs +++ b/源代码/StgSharp/Entities/Enemy.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + namespace StgSharp.Entities { @@ -49,11 +49,6 @@ namespace StgSharp.Entities CommonBulletLauncher.Launch(); } - internal void InternalDieOperation(Control home) - { - _dieBulletLauncher.Launch(); - _awardLauncher.Launch(); - } } } diff --git a/源代码/StgSharp/Entities/IEntity.cs b/源代码/StgSharp/Entities/IEntity.cs index 877fd853..29b19d0f 100644 --- a/源代码/StgSharp/Entities/IEntity.cs +++ b/源代码/StgSharp/Entities/IEntity.cs @@ -68,7 +68,7 @@ namespace StgSharp /// public vec2d Location { get; } - public string Texture { get; set; } + public string TextureGL { get; set; } /// /// X position of an enenmy entity diff --git a/源代码/StgSharp/Environment/Platform.cs b/源代码/StgSharp/Environment/Platform.cs index c9e69325..c575b062 100644 --- a/源代码/StgSharp/Environment/Platform.cs +++ b/源代码/StgSharp/Environment/Platform.cs @@ -64,6 +64,8 @@ namespace StgSharp VK } + + public static partial class StgSharp { @@ -89,6 +91,25 @@ namespace StgSharp LogType.Info); } + public static void LogError(Exception ex) + { + InternalIO.InternalWriteLog(ex.Message, LogType.Error); + } + + public static void LogWarning(string log) + { + InternalIO.InternalWriteLog(log, LogType.Warning); + } + public static void LogWarning(Exception notVerySeriesException) + { + InternalIO.InternalWriteLog(notVerySeriesException.Message, LogType.Warning); + } + + public static void LogInfo(string log) + { + InternalIO.InternalWriteLog(log, LogType.Info); + } + public static void Mark(bool needConsole) { markCount++; @@ -134,7 +155,7 @@ namespace StgSharp } /// - /// Write a log message to log file, and mark the level of this message. + /// Write a log message to log file, and mark the _level of this message. /// /// A string contains information of how current evironment runs. /// The severity of current message. diff --git a/源代码/StgSharp/Geometries/Coordination/ICoord.cs b/源代码/StgSharp/Geometries/Coordination/ICoord.cs index 0266a837..2d11639b 100644 --- a/源代码/StgSharp/Geometries/Coordination/ICoord.cs +++ b/源代码/StgSharp/Geometries/Coordination/ICoord.cs @@ -55,18 +55,5 @@ namespace StgSharp.Geometries get => ref coordMat; } - //TODO 几何体构建器需要重写 - public T BuildGeometry(params vec4d[] defaultVertex) where T : IGeometry - { - T ret = Activator.CreateInstance(); - ret.GetVertexHandle(this, ret.VertexCount); - for (int i = 0; i < ret.VertexCount; i++) - { - ret[i] = defaultVertex[i]; - } - return ret; - } - - } } diff --git a/源代码/StgSharp/Geometries/GeometryOperation/Angle.cs b/源代码/StgSharp/Geometries/GeometryOperation/Angle.cs index 34f1c7fc..58b37b01 100644 --- a/源代码/StgSharp/Geometries/GeometryOperation/Angle.cs +++ b/源代码/StgSharp/Geometries/GeometryOperation/Angle.cs @@ -104,6 +104,12 @@ namespace StgSharp.Math return new Radius(left._radius - Right._radius); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static float operator /(Radius left, Radius right) + { + return left._radius / right._radius; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Radius operator +(Radius left, Radius Right) { diff --git a/源代码/StgSharp/Geometries/IGeometry.cs b/源代码/StgSharp/Geometries/IGeometry.cs index 7d402fe2..73770bcd 100644 --- a/源代码/StgSharp/Geometries/IGeometry.cs +++ b/源代码/StgSharp/Geometries/IGeometry.cs @@ -53,14 +53,17 @@ namespace StgSharp.Geometries get; } +#pragma warning disable CA1819 public vec4d[] VertexStream +#pragma warning restore CA1819 { get; } - public void GetVertexHandle(ICoord coordinate, int count); - - public void Transform(Matrix44 transFormMatrix); + public ReadOnlySpan VertexIndices + { + get; + } } } diff --git a/源代码/StgSharp/Geometries/IInstancing.cs b/源代码/StgSharp/Geometries/IInstancing.cs new file mode 100644 index 00000000..cb607868 --- /dev/null +++ b/源代码/StgSharp/Geometries/IInstancing.cs @@ -0,0 +1,101 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="IInstancing.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Geometries +{ + public interface IInstancing + { + + public int BufferId + { + get; + set; + } + + public vec3d CenterPositionGlobal + { + get; + set; + } + + public vec3d Coord + { + get { return GlobalBuffer.CoordAndRotationList[BufferId].XYZ; } + set { GlobalBuffer.CoordAndRotationList[BufferId] = new vec4d(value.vec); } + } + + public IInstancingBuffer GlobalBuffer + { + get; + internal set; + } + + public float Rotation + { + get { return GlobalBuffer.CoordAndRotationList[BufferId].W; } + set + { + vec4d temp = GlobalBuffer.CoordAndRotationList[BufferId]; + temp.W = value; + GlobalBuffer.CoordAndRotationList[BufferId] = temp; + } + } + + public float Scale + { + get { return GlobalBuffer.ScalingList[BufferId]; } + set { GlobalBuffer.ScalingList[BufferId] = value; } + } + + public GeometryMotion Motion + { + get; set; + } + + public void Move() + { + (vec3d coord, float rotation) = (Coord, Rotation); + Motion.RunMotion(ref coord, ref rotation); + (Coord, Rotation) = (coord, rotation); + } + + } + +} diff --git a/源代码/StgSharp/Geometries/IInstancingBuffer.cs b/源代码/StgSharp/Geometries/IInstancingBuffer.cs new file mode 100644 index 00000000..4959a050 --- /dev/null +++ b/源代码/StgSharp/Geometries/IInstancingBuffer.cs @@ -0,0 +1,27 @@ +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Geometries +{ + public interface IInstancingBuffer + { + + internal IGeometry TypicalShape { get; } + + internal List InstanceList { get; } + + internal List CoordAndRotationList { get; } + + internal List ScalingList { get; } + + public Span CoordAndRotationSpan { get; } + + public Span ScalingSpan { get; } + + + } + +} diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Define/IPlainEntity.cs b/源代码/StgSharp/Geometries/PlainGeometry/Define/IPlainEntity.cs index 12124667..5733084e 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Define/IPlainEntity.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Define/IPlainEntity.cs @@ -14,7 +14,6 @@ namespace StgSharp.Geometries public vec2d CenterPosition { get; set; } public bool CollideWith(IPlainEntity entity); - } public class PlainEntity:IPlainEntity diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Define/ParticleOnPlain.cs b/源代码/StgSharp/Geometries/PlainGeometry/Define/ParticleOnPlain.cs new file mode 100644 index 00000000..a90340d8 --- /dev/null +++ b/源代码/StgSharp/Geometries/PlainGeometry/Define/ParticleOnPlain.cs @@ -0,0 +1,86 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="IInstancing.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Security.Cryptography.X509Certificates; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Geometries +{ + public class ParticleOnPlain : IInstancing, IPlainEntity + { + + public ParticleOnPlain(PlainInstancingBuffer buffer) + { + if (buffer == null) + { + throw new ArgumentNullException(paramName: nameof(buffer)); + } + GlobalBuffer = buffer; + BufferId = buffer.CreateInstanceID(); + ((IInstancingBuffer)buffer).InstanceList.Add(this); + } + + public int BufferId + { + get; + set; + } + + public IInstancingBuffer GlobalBuffer + { + get; + set; + } + public GeometryMotion Motion + { + get; + set; + } + + vec3d IInstancing.CenterPositionGlobal + { + get; + set; + } + vec2d IPlainEntity.CenterPosition { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + + bool IPlainEntity.CollideWith(IPlainEntity entity) + { + throw new NotImplementedException(); + } + } +} diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainGeometry.cs b/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainGeometry.cs index d30b14c4..83800e78 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainGeometry.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainGeometry.cs @@ -32,68 +32,39 @@ using StgSharp.Graphics; using StgSharp.Math; using System; +using System.ComponentModel; namespace StgSharp.Geometries { /// - /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 + /// Plain geometry only contains straight sides. /// - public abstract class PlainGeometry: IGeometry + public abstract class PlainGeometry : IGeometry { - - protected TimeSpanProvider time; - + protected vec4d[] vertexMat; internal ICoord coordinate; - public static int VertexCount { get; } - public PlainGeometry() { } - vec4d IGeometry.this[int index] + public vec4d this[int index] { - get => throw new NotImplementedException(); - set => throw new NotImplementedException(); + get => vertexMat[index]; + set => vertexMat[index] = value; } - /// - /// Tick time this geometry eas crested - /// - public int BornTime => time; - public ICoord ReferenceCoordinate => this.coordinate; - internal abstract int[] Indices { get; } + public int VertexCount => this.vertexMat.Length; - int IGeometry.VertexCount => throw new NotImplementedException(); + public abstract ReadOnlySpan VertexIndices { get; } - vec4d[] IGeometry.VertexStream => throw new NotImplementedException(); +#pragma warning disable CA1819 + public vec4d[] VertexStream => vertexMat; +#pragma warning restore CA1819 - /// - /// Get all sides of this . - /// - /// A array contains all straight s of current geometry item. - public abstract Line[] GetAllSides(); - /// - /// Get a flat coincide with current geometry. - /// - /// - public abstract Plain GetPlain(); - - internal abstract void UpdateCoordinate(int tick); - - void IGeometry.GetVertexHandle(ICoord coordinate, int count) - { - throw new NotImplementedException(); - } - - void IGeometry.Transform(Matrix44 transFormMatrix) - { - throw new NotImplementedException(); - } - - //public abstract Rectangle GetRenderFrame(); + } } \ No newline at end of file diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainInstancingBuffer.cs b/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainInstancingBuffer.cs index 27df69a4..bbf69ee4 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainInstancingBuffer.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Define/PlainInstancingBuffer.cs @@ -44,12 +44,15 @@ using System.Threading.Tasks; namespace StgSharp.Geometries { - public class PlainInstancingBuffer : IDisposable,IEnumerable where T : IInstancing + public class PlainInstancingBuffer : + IDisposable,IEnumerable, IInstancingBuffer + where T : + IInstancing { private CoordinatePlain globalCorrdinnate; private List coordList; - private List> instanceList; + private List instanceList; private List scalingList; private Mutex mutex; private bool disposedValue; @@ -64,29 +67,29 @@ namespace StgSharp.Geometries public PlainInstancingBuffer() { coordList = new List(capacity: 100); - instanceList = new List>(capacity:100); + instanceList = new List(capacity:100); scalingList = new List(capacity: 100); - coordArray = new vec4d[0]; - scaleArray = new float[0]; + coordArray = Array.Empty(); + scaleArray = Array.Empty(); mutex = new Mutex(); } - internal List> InstanceList + List IInstancingBuffer.InstanceList { get => instanceList; } - internal List CoordList + List IInstancingBuffer.CoordAndRotationList { get => coordList; } - internal List ScalingList + List IInstancingBuffer.ScalingList { get => scalingList; } - public Span CoordSpan + public Span CoordAndRotationSpan { get { @@ -96,7 +99,11 @@ namespace StgSharp.Geometries GetField("_items", BindingFlags.NonPublic | BindingFlags.Instance); if (fieldInfo == null) { +#pragma warning disable CA1065 +#pragma warning disable CA2201 throw new NullReferenceException(); +#pragma warning restore CA2201 +#pragma warning restore CA1065 } coordArray = (vec4d[])fieldInfo.GetValue(coordList); } @@ -114,7 +121,11 @@ namespace StgSharp.Geometries GetField("_items", BindingFlags.NonPublic | BindingFlags.Instance); if (fieldInfo == null) { +#pragma warning disable CA1065 +#pragma warning disable CA2201 throw new NullReferenceException(); +#pragma warning restore CA2201 +#pragma warning restore CA1065 } scaleArray = (float[])fieldInfo.GetValue(scalingList); } @@ -122,6 +133,8 @@ namespace StgSharp.Geometries } } + IGeometry IInstancingBuffer.TypicalShape => throw new NotImplementedException(); + public int CreateInstanceID() { mutex.WaitOne(); @@ -142,7 +155,7 @@ namespace StgSharp.Geometries paramName: nameof(instance)); } int index = instance.BufferId; - IInstancing temp = instanceList[instanceList.Count - 1]; + IInstancing temp = instanceList[instanceList.Count - 1]; instanceList[instance.BufferId] = temp; temp.BufferId = instance.BufferId; diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Parallelogram.cs b/源代码/StgSharp/Geometries/PlainGeometry/Parallelogram.cs index e23d45ab..0cdd8d47 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Parallelogram.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Parallelogram.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Math; using System; @@ -56,48 +56,14 @@ namespace StgSharp.Geometries ) { if ( - vertexMat.colum0 + vertexMat.colum2 != - vertexMat.colum1 + vertexMat.colum3 + this[0] + this[2] != + this[1] + this[3] ) { InternalIO.InternalWriteLog("Init of geometry item failed, because four vertices cannot form a rectangle.", LogType.Warning); } } - public Func MovCenterOperation => movCenterOperation; - public Func MovVertex01Operation => moveVertex0Operation; - public Func MovVertex02Operation => moveVertex1Operation; - - public virtual vec3d MovCenter(int tick) - { - return movCenterOperation.Invoke(tick); - } - - /// - /// Move the third vertex. this is a useless method for Parallelograms. - /// - /// Current time tick - /// - /// Geometry over defined - public override sealed vec3d MoveVertex2(int tick) - { - throw new UnusedVertexException(); - } - - /// - /// Move the third vertex. This method is useless for Parallelograms. - /// - /// Current time tick - /// - /// Geometry over defined - public override sealed vec3d MoveVertex3(int tick) - { - throw new UnusedVertexException(); - } - - internal override sealed void UpdateCoordinate(int tick) - { - } } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Point.cs b/源代码/StgSharp/Geometries/PlainGeometry/Point.cs index f6e66565..49b7f5a8 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Point.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Point.cs @@ -92,11 +92,6 @@ namespace StgSharp.Geometries throw new NotImplementedException(); } - public bool IsOnPlain(PlainGeometry geo) - { - return position * geo.GetPlain().plainParameter == 1; - } - /// /// Update the coordinate of the point. If this is a moving point, diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs index 5a24b42c..48ea34c1 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon4.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Math; using System; @@ -38,41 +38,35 @@ namespace StgSharp.Geometries { public class Polygon4 : PlainGeometry { - - internal readonly Func moveVertex0Operation = GeometryOperation.DefaultMotion; - internal readonly Func moveVertex1Operation = GeometryOperation.DefaultMotion; - internal readonly Func moveVertex2Operation = GeometryOperation.DefaultMotion; - internal readonly Func moveVertex3Operation = GeometryOperation.DefaultMotion; - - internal Mat4 vertexMat; + protected static int[] Indices = [0, 1, 2, 0, 2, 3]; internal Polygon4() { } public Polygon4(ICoord coordinate, - vec2d topLeft, - vec2d topRight, - vec2d bottomRight, - vec2d bottomLeft + vec3d topLeft, + vec3d topRight, + vec3d bottomRight, + vec3d bottomLeft ) { this.coordinate = coordinate; - vertexMat.colum0 = topLeft.vec; - vertexMat.colum1 = topRight.vec; - vertexMat.colum2 = bottomRight.vec; - vertexMat.colum3 = bottomLeft.vec; + this[0] = new vec4d(topLeft.vec); + this[1] = new vec4d(topRight.vec); + this[2] = new vec4d(bottomRight.vec); + this[3] = new vec4d(bottomLeft.vec); - Vector4 maxCoord = vertexMat.colum0; - Vector4 minCoord = vertexMat.colum0; + Vector4 maxCoord = this[0].vec; + Vector4 minCoord = this[0].vec; - maxCoord = Vector4.Max(maxCoord, vertexMat.colum1); - maxCoord = Vector4.Max(maxCoord, vertexMat.colum2); - maxCoord = Vector4.Max(maxCoord, vertexMat.colum3); + maxCoord = Vector4.Max(maxCoord, this[1].vec); + maxCoord = Vector4.Max(maxCoord, this[2].vec); + maxCoord = Vector4.Max(maxCoord, this[3].vec); - minCoord = Vector4.Min(minCoord, vertexMat.colum1); - minCoord = Vector4.Min(minCoord, vertexMat.colum2); - minCoord = Vector4.Min(minCoord, vertexMat.colum3); + minCoord = Vector4.Min(minCoord, this[1].vec); + minCoord = Vector4.Min(minCoord, this[2].vec); + minCoord = Vector4.Min(minCoord, this[3].vec); } public Polygon4( @@ -82,92 +76,15 @@ namespace StgSharp.Geometries float v3x, float v3y, float v3z ) { - vertexMat.colum0 = new Vector4(v0x, v0y, v0z, 0); - vertexMat.colum1 = new Vector4(v1x, v1y, v1z, 0); - vertexMat.colum2 = new Vector4(v2x, v2y, v2z, 0); - vertexMat.colum3 = new Vector4(v3x, v3y, v3z, 0); + vertexMat = new vec4d[4]; + + this[0] = new vec4d(v0x, v0y, v0z, 0); + this[1] = new vec4d(v1x, v1y, v1z, 0); + this[2] = new vec4d(v2x, v2y, v2z, 0); + this[3] = new vec4d(v3x, v3y, v3z, 0); } - public Func MovVertex0Operation => moveVertex0Operation; - public Func MovVertex1Operation => moveVertex1Operation; - public Func MovVertex2Operation => moveVertex2Operation; - public Func MovVertex3Operation => moveVertex3Operation; - - public Point Vertex0 - { - get => new Point(vertexMat.colum0); - set => vertexMat.colum0 = value.position.vec; - } - - public Point Vertex1 - { - get => new Point(vertexMat.colum1); - set => vertexMat.colum1 = value.position.vec; - } - - public Point Vertex2 - { - get => new Point(vertexMat.colum2); - set => vertexMat.colum1 = value.position.vec; - } - - public Mat4 VertexBuffer => vertexMat; - - - - internal override sealed int[] Indices => new int[6] { 0, 1, 2, 0, 2, 3 }; - - internal Point Vertex3 - { - get => new Point(vertexMat.colum3); - set => vertexMat.colum1 = value.position.vec; - } - - - public override Line[] GetAllSides() - { - Line[] sides = - [ - new Line(Vertex0, Vertex1), - new Line(Vertex1, Vertex2), - new Line(Vertex2, Vertex3), - new Line(Vertex3, Vertex0) - ]; - - return sides; - } - - public override Plain GetPlain() - { - return new Plain( - vertexMat.colum0, - vertexMat.colum1, - vertexMat.colum2); - } - - public virtual vec3d MoveVertex0(int tick) - { - return moveVertex0Operation(tick); - } - - public virtual vec3d MoveVertex1(int tick) - { - return moveVertex1Operation(tick); - } - - public virtual vec3d MoveVertex2(int tick) - { - return moveVertex2Operation(tick); - } - - public virtual vec3d MoveVertex3(int tick) - { - return moveVertex3Operation(tick); - } - - internal override void UpdateCoordinate(int tick) - { - } + public override ReadOnlySpan VertexIndices => Indices; } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs index 6840b54e..265ba4d0 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon5.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Math; using System; @@ -39,16 +39,9 @@ namespace StgSharp.Geometries public unsafe class Polygon5 : PlainGeometry { - internal Point _refOrigin; - internal Func movP01Operation = default; - internal Func movP02Operation = default; - internal Func movP03Operation = default; - internal Func movP04Operation = default; - internal Func movP05Operation = default; - internal mat5 vertexMat; - public unsafe Polygon5() { + vertexMat = new vec4d[5]; } public Polygon5( @@ -59,106 +52,16 @@ namespace StgSharp.Geometries float v4x, float v4y, float v4z ) { - vertexMat.vec0 = new Vector4(v0x, v0y, v0z, 0); - vertexMat.vec1 = new Vector4(v1x, v1y, v1z, 0); - vertexMat.vec2 = new Vector4(v2x, v2y, v2z, 0); - vertexMat.vec3 = new Vector4(v3x, v3y, v3z, 0); - vertexMat.vec4 = new Vector4(v4x, v4y, v4z, 0); + vertexMat = new vec4d[5]; + this[0] = new vec4d(v0x, v0y, v0z, 0); + this[1] = new vec4d(v1x, v1y, v1z, 0); + this[2] = new vec4d(v2x, v2y, v2z, 0); + this[3] = new vec4d(v3x, v3y, v3z, 0); + this[4] = new vec4d(v4x, v4y, v4z, 0); } + internal static int[] Indices = [ 0, 1, 2, 0, 2, 3, 0, 3, 4 ]; - public Func MovP01Operation => movP01Operation; - public Func MovP02Operation => movP02Operation; - public Func MovP03Operation => movP03Operation; - public Func MovP04Operation => movP04Operation; - public Func MovP05Operation => movP05Operation; - - public Point Vertex0 - { - get => new Point(vertexMat.vec0); - set => vertexMat.vec0 = value.position.vec; - } - - public Point Vertex1 - { - get => new Point(vertexMat.vec1); - set => vertexMat.vec1 = value.position.vec; - } - - public Point Vertex2 - { - get => new Point(vertexMat.vec2); - set => vertexMat.vec2 = value.position.vec; - } - - public Point Vertex3 - { - get => new Point(vertexMat.vec3); - set => vertexMat.vec3 = value.position.vec; - } - - public Point Vertex4 - { - get => new Point(vertexMat.vec4); - set => vertexMat.vec4 = value.position.vec; - } - - public mat5 VertexBuffer => vertexMat; - - internal override int[] Indices => new int[9] { 0, 1, 2, 0, 2, 3, 0, 3, 4 }; - - public override Line[] GetAllSides() - { - return new Line[5] - { - new Line(Vertex0,Vertex1), - new Line(Vertex1,Vertex2), - new Line(Vertex2,Vertex3), - new Line(Vertex3,Vertex4), - new Line(Vertex4,Vertex0) - }; - } - - public override Plain GetPlain() - { - return new Plain(Vertex0, Vertex1, Vertex2); - } - - public virtual vec3d movVertex01(int tick) - { - return movP01Operation.Invoke(time); - } - - public virtual vec3d movVertex02(int tick) - { - return movP02Operation.Invoke(time); - } - - public virtual vec3d movVertex03(int tick) - { - return movP03Operation.Invoke(time); - } - - public virtual vec3d movVertex04(int tick) - { - return movP04Operation.Invoke(time); - } - - public virtual vec3d movVertex05(int tick) - { - return movP05Operation.Invoke(time); - } - - - internal override void UpdateCoordinate(int tick) - { - int nowTick = tick - BornTime; - vertexMat.vec0 = (coordinate.Origin + movVertex01(nowTick)).vec; - vertexMat.vec1 = (coordinate.Origin + movVertex02(nowTick)).vec; - vertexMat.vec2 = (coordinate.Origin + movVertex03(nowTick)).vec; - vertexMat.vec3 = (coordinate.Origin + movVertex04(nowTick)).vec; - vertexMat.vec4 = (coordinate.Origin + movVertex05(nowTick)).vec; - } - + public override ReadOnlySpan VertexIndices => Indices; } } diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs b/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs index 3a250ebe..56d56842 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Polygon6.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Math; using System; @@ -38,120 +38,13 @@ namespace StgSharp.Geometries { public class Polygon6 : PlainGeometry { - - internal Point _refOrigin; - internal Func movVertex0Operation; - internal Func movVertex1Operation; - internal Func movVertex2Operation; - internal Func movVertex3Operation; - internal Func movVertex4Operation; - internal Func movVertex5Operation; - internal mat6 vertexMat; - - public Func MovVertex0Operation => movVertex0Operation; - public Func MovVertex1Operation => movVertex1Operation; - public Func MovVertex2Operation => movVertex2Operation; - public Func MovVertex3Operation => movVertex3Operation; - public Func MovVertex4Operation => movVertex4Operation; - public Func MovVertex5Operation => movVertex5Operation; - - public Point Vertex0 + public Polygon6() { - get => new Point(vertexMat.vec0); - set => vertexMat.vec0 = value.position.vec; + vertexMat = new vec4d[6]; } - public Point Vertex1 - { - get => new Point(vertexMat.vec1); - set => vertexMat.vec1 = value.position.vec; - } - - public Point Vertex2 - { - get => new Point(vertexMat.vec2); - set => vertexMat.vec2 = value.position.vec; - } - - public Point Vertex3 - { - get => new Point(vertexMat.vec3); - set => vertexMat.vec3 = value.position.vec; - } - - public Point Vertex4 - { - get => new Point(vertexMat.vec4); - set => vertexMat.vec4 = value.position.vec; - } - - public Point Vertex5 - { - get => new Point(vertexMat.vec5); - set => vertexMat.vec5 = value.position.vec; - } - - internal override int[] Indices => new int[12] { 0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 5 }; - - public override Line[] GetAllSides() - { - return new Line[6] - { - new Line(Vertex0,Vertex1), - new Line(Vertex1,Vertex2), - new Line(Vertex2,Vertex3), - new Line(Vertex3,Vertex4), - new Line(Vertex4,Vertex5), - new Line(Vertex5,Vertex0) - }; - } - - public override Plain GetPlain() - { - return new Plain(Vertex0, Vertex1, Vertex2); - } - - public virtual vec3d movVertex0(int tick) - { - return movVertex0Operation.Invoke(time); - } - - public virtual vec3d movVertex1(int tick) - { - return movVertex1Operation.Invoke(time); - } - - public virtual vec3d movVertex2(int tick) - { - return movVertex2Operation.Invoke(time); - } - - public virtual vec3d movVertex3(int tick) - { - return movVertex3Operation.Invoke(time); - } - - public virtual vec3d movVertex4(int tick) - { - return movVertex4Operation.Invoke(time); - } - - public virtual vec3d movVertex5(int tick) - { - return movVertex5Operation.Invoke(time); - } - - internal override void UpdateCoordinate(int tick) - { - int nowTick = tick - BornTime; - Vector4 origin = coordinate.Origin.vec; - vertexMat.vec0 = origin + movVertex0(nowTick).vec; - vertexMat.vec1 = origin + movVertex1(nowTick).vec; - vertexMat.vec2 = origin + movVertex2(nowTick).vec; - vertexMat.vec3 = origin + movVertex3(nowTick).vec; - vertexMat.vec4 = origin + movVertex4(nowTick).vec; - vertexMat.vec5 = origin + movVertex5(nowTick).vec; - } + internal static int[] Indices = [ 0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 5 ]; + public override ReadOnlySpan VertexIndices => Indices; } } \ No newline at end of file diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Rectangle.cs b/源代码/StgSharp/Geometries/PlainGeometry/Rectangle.cs index 40eaeeb4..b3d7d780 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Rectangle.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Rectangle.cs @@ -50,8 +50,8 @@ namespace StgSharp.Geometries ) { #if DEBUG - vec2d side0 = new vec2d( vertexMat.colum0 - vertexMat.colum1); - vec2d side1 = new vec2d( vertexMat.colum2 - vertexMat.colum1); + vec2d side0 = (this[0] - this[1]).XY; + vec2d side1 = (this[2] - this[1]).XY; if (side0.Cross(side1) == 0) { throw new ArgumentException(); diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Square.cs b/源代码/StgSharp/Geometries/PlainGeometry/Square.cs index 75ee0b35..3b07aae4 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Square.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Square.cs @@ -51,12 +51,12 @@ namespace StgSharp.Geometries v2x, v2y, v2z, v3x, v3y, v3z) { + if (true) + { + + } } - public override sealed vec3d MoveVertex1(int tick) - { - return default; - } } } \ No newline at end of file diff --git a/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs b/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs index 6be3b363..97b667b5 100644 --- a/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs +++ b/源代码/StgSharp/Geometries/PlainGeometry/Triangle.cs @@ -28,7 +28,8 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + +using StgSharp.Graphics; using StgSharp.Math; using System; @@ -41,15 +42,9 @@ namespace StgSharp.Geometries public unsafe class Triangle : PlainGeometry { - internal Func movVertex01Operation = GeometryOperation.DefaultMotion; - internal Func movVertex02Operation = GeometryOperation.DefaultMotion; - internal Func movVertex03Operation = GeometryOperation.DefaultMotion; - - internal Mat3 vertexMat; - public Triangle() { - vertexMat = new Mat3(); + vertexMat = new vec4d[3]; } public Triangle( @@ -58,9 +53,9 @@ namespace StgSharp.Geometries vec3d vertex03 ) { - vertexMat.colum0 = vertex01.vec; - vertexMat.colum1 = vertex02.vec; - vertexMat.colum2 = vertex03.vec; + this[0] = new vec4d( vertex01.vec); + this[1] = new vec4d( vertex02.vec); + this[2] = new vec4d( vertex03.vec); } public Triangle( @@ -69,56 +64,14 @@ namespace StgSharp.Geometries float v2x, float v2y, float v2z ) { - vertexMat.colum0 = new Vector4(v0x, v0y, v0z, 0); - vertexMat.colum1 = new Vector4(v1x, v1y, v1z, 0); - vertexMat.colum2 = new Vector4(v2x, v2y, v2z, 0); + this[0] = new vec4d(v0x, v0y, v0z, 0); + this[1] = new vec4d(v1x, v1y, v1z, 0); + this[2] = new vec4d(v2x, v2y, v2z, 0); } - public Func MovVertex01Operation => this.movVertex01Operation; - public Func MovVertex02Operation => this.movVertex02Operation; - public Func MovVertex03Operation => this.movVertex03Operation; + internal static int[] Indices = [ 0, 1, 2 ]; - public Mat3 VertexBuffer => vertexMat; - - internal override sealed int[] Indices => new int[3] { 0, 1, 2 }; - - public override Line[] GetAllSides() - { - return - [ - new Line(vertexMat.colum0,vertexMat.colum1), - new Line(vertexMat.colum1,vertexMat.colum2), - new Line(vertexMat.colum2,vertexMat.colum0) - ]; - } - - public override Plain GetPlain() - { - return new Plain(this.vertexMat.colum0, this.vertexMat.colum1, this.vertexMat.colum2); - } - - public virtual vec3d MovVertex01(int tick) - { - return movVertex01Operation(tick); - } - - public virtual vec3d MovVertex02(int tick) - { - return movVertex02Operation(tick); - } - - public virtual vec3d MovVertex03(int tick) - { - return movVertex03Operation(tick); - } - - internal override sealed void UpdateCoordinate(int tick) - { - tick = time; - vertexMat.colum0 = coordinate.Origin.vec + MovVertex01(time).vec; - vertexMat.colum1 = coordinate.Origin.vec + MovVertex02(time).vec; - vertexMat.colum2 = coordinate.Origin.vec + MovVertex03(time).vec; - } + public override ReadOnlySpan VertexIndices => Indices; } } diff --git a/源代码/StgSharp/Graphics/CPUanimation/AnimationBuilder.cs b/源代码/StgSharp/Graphics/CPUanimation/AnimationBuilder.cs new file mode 100644 index 00000000..f8306391 --- /dev/null +++ b/源代码/StgSharp/Graphics/CPUanimation/AnimationBuilder.cs @@ -0,0 +1,80 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="AnimationBuilder.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; + +namespace StgSharp.Graphics +{ + public sealed class AnimationBuilder: IImageProvider + { + + private Image cache; + + private TimeFunction time; + + public AnimationBuilder( + Func builderFunc, + TimeFunction timeline + ) + { + time = timeline; + BuilderFunc = builderFunc; + } + + public Func BuilderFunc { get; set; } + + public bool IsComplete + { + get => time.IsComplete; + } + + public Image GetAnimationFrame() + { + if (!time.IsComplete) + { + cache = BuilderFunc(time.Calculate()); + } + return cache; + } + + public void reset() + { + time.Reset(); + } + + Image IImageProvider.ProvideImage() + { + return GetAnimationFrame(); + } + } +} diff --git a/源代码/StgSharp/Graphics/CPUanimation/IImageProvider.cs b/源代码/StgSharp/Graphics/CPUanimation/IImageProvider.cs new file mode 100644 index 00000000..88bd1420 --- /dev/null +++ b/源代码/StgSharp/Graphics/CPUanimation/IImageProvider.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Graphics +{ + public interface IImageProvider + { + Image ProvideImage(); + + } +} diff --git a/源代码/StgSharp/Graphics/Define/StructDefine.cs b/源代码/StgSharp/Graphics/Define/StructDefine.cs index 51c7ae22..11ef25cc 100644 --- a/源代码/StgSharp/Graphics/Define/StructDefine.cs +++ b/源代码/StgSharp/Graphics/Define/StructDefine.cs @@ -28,6 +28,8 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- +using StgSharp.Graphics.GL; + using System; using System.Runtime.InteropServices; diff --git a/源代码/StgSharp/Graphics/Define/glConst.cs b/源代码/StgSharp/Graphics/Define/glConst.cs index 4220656f..af825ad9 100644 --- a/源代码/StgSharp/Graphics/Define/glConst.cs +++ b/源代码/StgSharp/Graphics/Define/glConst.cs @@ -29,4814 +29,4815 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- using System; +using System.Drawing; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { //rename types in style of GLconst - internal static unsafe class GLconst + public static unsafe class GLconst { #region glfw - internal const int GLFW_VERSION_MAJOR = 3; - internal const int GLFW_VERSION_MINOR = 3; - internal const int GLFW_VERSION_REVISION = 8; - internal const int GLFW_TRUE = 1; - internal const int GLFW_FALSE = 0; - internal const int GLFW_RELEASE = 0; - internal const int GLFW_PRESS = 1; - internal const int GLFW_REPEAT = 2; - internal const int GLFW_HAT_CENTERED = 0; - internal const int GLFW_HAT_UP = 1; - internal const int GLFW_HAT_RIGHT = 2; - internal const int GLFW_HAT_DOWN = 4; - internal const int GLFW_HAT_LEFT = 8; - internal const int GLFW_HAT_RIGHT_UP = GLFW_HAT_RIGHT | GLFW_HAT_UP; - internal const int GLFW_HAT_RIGHT_DOWN = GLFW_HAT_RIGHT | GLFW_HAT_DOWN; - internal const int GLFW_HAT_LEFT_UP = GLFW_HAT_LEFT | GLFW_HAT_UP; - internal const int GLFW_HAT_LEFT_DOWN = GLFW_HAT_LEFT | GLFW_HAT_DOWN; - internal const int GLFW_KEY_UNKNOWN = -1; - internal const int GLFW_KEY_SPACE = 32; - internal const int GLFW_KEY_APOSTROPHE = 39; - internal const int GLFW_KEY_COMMA = 44; - internal const int GLFW_KEY_MINUS = 45; - internal const int GLFW_KEY_PERIOD = 46; - internal const int GLFW_KEY_SLASH = 47; - internal const int GLFW_KEY_0 = 48; - internal const int GLFW_KEY_1 = 49; - internal const int GLFW_KEY_2 = 50; - internal const int GLFW_KEY_3 = 51; - internal const int GLFW_KEY_4 = 52; - internal const int GLFW_KEY_5 = 53; - internal const int GLFW_KEY_6 = 54; - internal const int GLFW_KEY_7 = 55; - internal const int GLFW_KEY_8 = 56; - internal const int GLFW_KEY_9 = 57; - internal const int GLFW_KEY_SEMICOLON = 59; - internal const int GLFW_KEY_EQUAL = 61; - internal const int GLFW_KEY_A = 65; - internal const int GLFW_KEY_B = 66; - internal const int GLFW_KEY_C = 67; - internal const int GLFW_KEY_D = 68; - internal const int GLFW_KEY_E = 69; - internal const int GLFW_KEY_F = 70; - internal const int GLFW_KEY_G = 71; - internal const int GLFW_KEY_H = 72; - internal const int GLFW_KEY_I = 73; - internal const int GLFW_KEY_J = 74; - internal const int GLFW_KEY_K = 75; - internal const int GLFW_KEY_L = 76; - internal const int GLFW_KEY_M = 77; - internal const int GLFW_KEY_N = 78; - internal const int GLFW_KEY_O = 79; - internal const int GLFW_KEY_P = 80; - internal const int GLFW_KEY_Q = 81; - internal const int GLFW_KEY_R = 82; - internal const int GLFW_KEY_S = 83; - internal const int GLFW_KEY_T = 84; - internal const int GLFW_KEY_U = 85; - internal const int GLFW_KEY_V = 86; - internal const int GLFW_KEY_W = 87; - internal const int GLFW_KEY_X = 88; - internal const int GLFW_KEY_Y = 89; - internal const int GLFW_KEY_Z = 90; - internal const int GLFW_KEY_LEFT_BRACKET = 91; - internal const int GLFW_KEY_BACKSLASH = 92; - internal const int GLFW_KEY_RIGHT_BRACKET = 93; - internal const int GLFW_KEY_GRAVE_ACCENT = 96; - internal const int GLFW_KEY_WORLD_1 = 161; - internal const int GLFW_KEY_WORLD_2 = 162; - internal const int GLFW_KEY_ESCAPE = 256; - internal const int GLFW_KEY_ENTER = 257; - internal const int GLFW_KEY_TAB = 258; - internal const int GLFW_KEY_BACKSPACE = 259; - internal const int GLFW_KEY_INSERT = 260; - internal const int GLFW_KEY_DELETE = 261; - internal const int GLFW_KEY_RIGHT = 262; - internal const int GLFW_KEY_LEFT = 263; - internal const int GLFW_KEY_DOWN = 264; - internal const int GLFW_KEY_UP = 265; - internal const int GLFW_KEY_PAGE_UP = 266; - internal const int GLFW_KEY_PAGE_DOWN = 267; - internal const int GLFW_KEY_HOME = 268; - internal const int GLFW_KEY_END = 269; - internal const int GLFW_KEY_CAPS_LOCK = 280; - internal const int GLFW_KEY_SCROLL_LOCK = 281; - internal const int GLFW_KEY_NUM_LOCK = 282; - internal const int GLFW_KEY_PRINT_SCREEN = 283; - internal const int GLFW_KEY_PAUSE = 284; - internal const int GLFW_KEY_F1 = 290; - internal const int GLFW_KEY_F2 = 291; - internal const int GLFW_KEY_F3 = 292; - internal const int GLFW_KEY_F4 = 293; - internal const int GLFW_KEY_F5 = 294; - internal const int GLFW_KEY_F6 = 295; - internal const int GLFW_KEY_F7 = 296; - internal const int GLFW_KEY_F8 = 297; - internal const int GLFW_KEY_F9 = 298; - internal const int GLFW_KEY_F10 = 299; - internal const int GLFW_KEY_F11 = 300; - internal const int GLFW_KEY_F12 = 301; - internal const int GLFW_KEY_F13 = 302; - internal const int GLFW_KEY_F14 = 303; - internal const int GLFW_KEY_F15 = 304; - internal const int GLFW_KEY_F16 = 305; - internal const int GLFW_KEY_F17 = 306; - internal const int GLFW_KEY_F18 = 307; - internal const int GLFW_KEY_F19 = 308; - internal const int GLFW_KEY_F20 = 309; - internal const int GLFW_KEY_F21 = 310; - internal const int GLFW_KEY_F22 = 311; - internal const int GLFW_KEY_F23 = 312; - internal const int GLFW_KEY_F24 = 313; - internal const int GLFW_KEY_F25 = 314; - internal const int GLFW_KEY_KP_0 = 320; - internal const int GLFW_KEY_KP_1 = 321; - internal const int GLFW_KEY_KP_2 = 322; - internal const int GLFW_KEY_KP_3 = 323; - internal const int GLFW_KEY_KP_4 = 324; - internal const int GLFW_KEY_KP_5 = 325; - internal const int GLFW_KEY_KP_6 = 326; - internal const int GLFW_KEY_KP_7 = 327; - internal const int GLFW_KEY_KP_8 = 328; - internal const int GLFW_KEY_KP_9 = 329; - internal const int GLFW_KEY_KP_DECIMAL = 330; - internal const int GLFW_KEY_KP_DIVIDE = 331; - internal const int GLFW_KEY_KP_MULTIPLY = 332; - internal const int GLFW_KEY_KP_SUBTRACT = 333; - internal const int GLFW_KEY_KP_ADD = 334; - internal const int GLFW_KEY_KP_ENTER = 335; - internal const int GLFW_KEY_KP_EQUAL = 336; - internal const int GLFW_KEY_LEFT_SHIFT = 340; - internal const int GLFW_KEY_LEFT_CONTROL = 341; - internal const int GLFW_KEY_LEFT_ALT = 342; - internal const int GLFW_KEY_LEFT_SUPER = 343; - internal const int GLFW_KEY_RIGHT_SHIFT = 344; - internal const int GLFW_KEY_RIGHT_CONTROL = 345; - internal const int GLFW_KEY_RIGHT_ALT = 346; - internal const int GLFW_KEY_RIGHT_SUPER = 347; - internal const int GLFW_KEY_MENU = 348; - internal const int GLFW_KEY_LAST = GLFW_KEY_MENU; - internal const int GLFW_MOD_SHIFT = 0x0001; - internal const int GLFW_MOD_CONTROL = 0x0002; - internal const int GLFW_MOD_ALT = 0x0004; - internal const int GLFW_MOD_SUPER = 0x0008; - internal const int GLFW_MOD_CAPS_LOCK = 0x0010; - internal const int GLFW_MOD_NUM_LOCK = 0x0020; - internal const int GLFW_MOUSE_BUTTON_1 = 0; - internal const int GLFW_MOUSE_BUTTON_2 = 1; - internal const int GLFW_MOUSE_BUTTON_3 = 2; - internal const int GLFW_MOUSE_BUTTON_4 = 3; - internal const int GLFW_MOUSE_BUTTON_5 = 4; - internal const int GLFW_MOUSE_BUTTON_6 = 5; - internal const int GLFW_MOUSE_BUTTON_7 = 6; - internal const int GLFW_MOUSE_BUTTON_8 = 7; - internal const int GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8; - internal const int GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1; - internal const int GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2; - internal const int GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3; - internal const int GLFW_JOYSTICK_1 = 0; - internal const int GLFW_JOYSTICK_2 = 1; - internal const int GLFW_JOYSTICK_3 = 2; - internal const int GLFW_JOYSTICK_4 = 3; - internal const int GLFW_JOYSTICK_5 = 4; - internal const int GLFW_JOYSTICK_6 = 5; - internal const int GLFW_JOYSTICK_7 = 6; - internal const int GLFW_JOYSTICK_8 = 7; - internal const int GLFW_JOYSTICK_9 = 8; - internal const int GLFW_JOYSTICK_10 = 9; - internal const int GLFW_JOYSTICK_11 = 10; - internal const int GLFW_JOYSTICK_12 = 11; - internal const int GLFW_JOYSTICK_13 = 12; - internal const int GLFW_JOYSTICK_14 = 13; - internal const int GLFW_JOYSTICK_15 = 14; - internal const int GLFW_JOYSTICK_16 = 15; - internal const int GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16; - internal const int GLFW_GAMEPAD_BUTTON_A = 0; - internal const int GLFW_GAMEPAD_BUTTON_B = 1; - internal const int GLFW_GAMEPAD_BUTTON_X = 2; - internal const int GLFW_GAMEPAD_BUTTON_Y = 3; - internal const int GLFW_GAMEPAD_BUTTON_LEFT_BUMPER = 4; - internal const int GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER = 5; - internal const int GLFW_GAMEPAD_BUTTON_BACK = 6; - internal const int GLFW_GAMEPAD_BUTTON_START = 7; - internal const int GLFW_GAMEPAD_BUTTON_GUIDE = 8; - internal const int GLFW_GAMEPAD_BUTTON_LEFT_THUMB = 9; - internal const int GLFW_GAMEPAD_BUTTON_RIGHT_THUMB = 10; - internal const int GLFW_GAMEPAD_BUTTON_DPAD_UP = 11; - internal const int GLFW_GAMEPAD_BUTTON_DPAD_RIGHT = 12; - internal const int GLFW_GAMEPAD_BUTTON_DPAD_DOWN = 13; - internal const int GLFW_GAMEPAD_BUTTON_DPAD_LEFT = 14; - internal const int GLFW_GAMEPAD_BUTTON_LAST = GLFW_GAMEPAD_BUTTON_DPAD_LEFT; - internal const int GLFW_GAMEPAD_BUTTON_CROSS = GLFW_GAMEPAD_BUTTON_A; - internal const int GLFW_GAMEPAD_BUTTON_CIRCLE = GLFW_GAMEPAD_BUTTON_B; - internal const int GLFW_GAMEPAD_BUTTON_SQUARE = GLFW_GAMEPAD_BUTTON_X; - internal const int GLFW_GAMEPAD_BUTTON_TRIANGLE = GLFW_GAMEPAD_BUTTON_Y; - internal const int GLFW_GAMEPAD_AXIS_LEFT_X = 0; - internal const int GLFW_GAMEPAD_AXIS_LEFT_Y = 1; - internal const int GLFW_GAMEPAD_AXIS_RIGHT_X = 2; - internal const int GLFW_GAMEPAD_AXIS_RIGHT_Y = 3; - internal const int GLFW_GAMEPAD_AXIS_LEFT_TRIGGER = 4; - internal const int GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER = 5; - internal const int GLFW_GAMEPAD_AXIS_LAST = GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER; - internal const int GLFW_NO_ERROR = 0; - internal const int GLFW_NOT_INITIALIZED = 0x00010001; - internal const int GLFW_NO_CURRENT_CONTEXT = 0x00010002; - internal const int GLFW_INVALID_ENUM = 0x00010003; - internal const int GLFW_INVALID_VALUE = 0x00010004; - internal const int GLFW_OUT_OF_MEMORY = 0x00010005; - internal const int GLFW_API_UNAVAILABLE = 0x00010006; - internal const int GLFW_VERSION_UNAVAILABLE = 0x00010007; - internal const int GLFW_PLATFORM_ERROR = 0x00010008; - internal const int GLFW_FORMAT_UNAVAILABLE = 0x00010009; - internal const int GLFW_NO_WINDOW_CONTEXT = 0x0001000A; - internal const int GLFW_FOCUSED = 0x00020001; - internal const int GLFW_ICONIFIED = 0x00020002; - internal const int GLFW_RESIZABLE = 0x00020003; - internal const int GLFW_VISIBLE = 0x00020004; - internal const int GLFW_DECORATED = 0x00020005; - internal const int GLFW_AUTO_ICONIFY = 0x00020006; - internal const int GLFW_FLOATING = 0x00020007; - internal const int GLFW_MAXIMIZED = 0x00020008; - internal const int GLFW_CENTER_CURSOR = 0x00020009; - internal const int GLFW_TRANSPARENT_FRAMEBUFFER = 0x0002000A; - internal const int GLFW_HOVERED = 0x0002000B; - internal const int GLFW_FOCUS_ON_SHOW = 0x0002000C; - internal const int GLFW_RED_BITS = 0x00021001; - internal const int GLFW_GREEN_BITS = 0x00021002; - internal const int GLFW_BLUE_BITS = 0x00021003; - internal const int GLFW_ALPHA_BITS = 0x00021004; - internal const int GLFW_DEPTH_BITS = 0x00021005; - internal const int GLFW_STENCIL_BITS = 0x00021006; - internal const int GLFW_ACCUM_RED_BITS = 0x00021007; - internal const int GLFW_ACCUM_GREEN_BITS = 0x00021008; - internal const int GLFW_ACCUM_BLUE_BITS = 0x00021009; - internal const int GLFW_ACCUM_ALPHA_BITS = 0x0002100A; - internal const int GLFW_AUX_BUFFERS = 0x0002100B; - internal const int GLFW_STEREO = 0x0002100C; - internal const int GLFW_SAMPLES = 0x0002100D; - internal const int GLFW_SRGB_CAPABLE = 0x0002100E; - internal const int GLFW_REFRESH_RATE = 0x0002100F; - internal const int GLFW_DOUBLEBUFFER = 0x00021010; - internal const int GLFW_CLIENT_API = 0x00022001; - internal const int GLFW_CONTEXT_VERSION_MAJOR = 0x00022002; - internal const int GLFW_CONTEXT_VERSION_MINOR = 0x00022003; - internal const int GLFW_CONTEXT_REVISION = 0x00022004; - internal const int GLFW_CONTEXT_ROBUSTNESS = 0x00022005; - internal const int GLFW_OPENGL_FORWARD_COMPAT = 0x00022006; - internal const int GLFW_OPENGL_DEBUG_CONTEXT = 0x00022007; - internal const int GLFW_OPENGL_PROFILE = 0x00022008; - internal const int GLFW_CONTEXT_RELEASE_BEHAVIOR = 0x00022009; - internal const int GLFW_CONTEXT_NO_ERROR = 0x0002200A; - internal const int GLFW_CONTEXT_CREATION_API = 0x0002200B; - internal const int GLFW_SCALE_TO_MONITOR = 0x0002200C; - internal const int GLFW_COCOA_RETINA_FRAMEBUFFER = 0x00023001; - internal const int GLFW_COCOA_FRAME_NAME = 0x00023002; - internal const int GLFW_COCOA_GRAPHICS_SWITCHING = 0x00023003; - internal const int GLFW_X11_CLASS_NAME = 0x00024001; - internal const int GLFW_X11_INSTANCE_NAME = 0x00024002; - internal const int GLFW_NO_API = 0; - internal const int GLFW_OPENGL_API = 0x00030001; - internal const int GLFW_OPENGL_ES_API = 0x00030002; - internal const int GLFW_NO_ROBUSTNESS = 0; - internal const int GLFW_NO_RESET_NOTIFICATION = 0x00031001; - internal const int GLFW_LOSE_CONTEXT_ON_RESET = 0x00031002; - internal const int GLFW_OPENGL_ANY_PROFILE = 0; - internal const int GLFW_OPENGL_CORE_PROFILE = 0x00032001; - internal const int GLFW_OPENGL_COMPAT_PROFILE = 0x00032002; - internal const int GLFW_CURSOR = 0x00033001; - internal const int GLFW_STICKY_KEYS = 0x00033002; - internal const int GLFW_STICKY_MOUSE_BUTTONS = 0x00033003; - internal const int GLFW_LOCK_KEY_MODS = 0x00033004; - internal const int GLFW_RAW_MOUSE_MOTION = 0x00033005; - internal const int GLFW_CURSOR_NORMAL = 0x00034001; - internal const int GLFW_CURSOR_HIDDEN = 0x00034002; - internal const int GLFW_CURSOR_DISABLED = 0x00034003; - internal const int GLFW_ANY_RELEASE_BEHAVIOR = 0; - internal const int GLFW_RELEASE_BEHAVIOR_FLUSH = 0x00035001; - internal const int GLFW_RELEASE_BEHAVIOR_NONE = 0x00035002; - internal const int GLFW_NATIVE_CONTEXT_API = 0x00036001; - internal const int GLFW_EGL_CONTEXT_API = 0x00036002; - internal const int GLFW_OSMESA_CONTEXT_API = 0x00036003; - internal const int GLFW_ARROW_CURSOR = 0x00036001; - internal const int GLFW_IBEAM_CURSOR = 0x00036002; - internal const int GLFW_CROSSHAIR_CURSOR = 0x00036003; - internal const int GLFW_HAND_CURSOR = 0x00036004; - internal const int GLFW_HRESIZE_CURSOR = 0x00036005; - internal const int GLFW_VRESIZE_CURSOR = 0x00036006; - internal const int GLFW_CONNECTED = 0x00040001; - internal const int GLFW_DISCONNECTED = 0x00040002; - internal const int GLFW_JOYSTICK_HAT_BUTTONS = 0x00050001; - internal const int GLFW_COCOA_CHDIR_RESOURCES = 0x00051001; - internal const int GLFW_COCOA_MENUBAR = 0x00051002; - internal const int GLFW_DONT_CARE = -1; + public const int GLFW_VERSION_MAJOR = 3; + public const int GLFW_VERSION_MINOR = 3; + public const int GLFW_VERSION_REVISION = 8; + public const int GLFW_TRUE = 1; + public const int GLFW_FALSE = 0; + public const int GLFW_RELEASE = 0; + public const int GLFW_PRESS = 1; + public const int GLFW_REPEAT = 2; + public const int GLFW_HAT_CENTERED = 0; + public const int GLFW_HAT_UP = 1; + public const int GLFW_HAT_RIGHT = 2; + public const int GLFW_HAT_DOWN = 4; + public const int GLFW_HAT_LEFT = 8; + public const int GLFW_HAT_RIGHT_UP = GLFW_HAT_RIGHT | GLFW_HAT_UP; + public const int GLFW_HAT_RIGHT_DOWN = GLFW_HAT_RIGHT | GLFW_HAT_DOWN; + public const int GLFW_HAT_LEFT_UP = GLFW_HAT_LEFT | GLFW_HAT_UP; + public const int GLFW_HAT_LEFT_DOWN = GLFW_HAT_LEFT | GLFW_HAT_DOWN; + public const int GLFW_KEY_UNKNOWN = -1; + public const int GLFW_KEY_SPACE = 32; + public const int GLFW_KEY_APOSTROPHE = 39; + public const int GLFW_KEY_COMMA = 44; + public const int GLFW_KEY_MINUS = 45; + public const int GLFW_KEY_PERIOD = 46; + public const int GLFW_KEY_SLASH = 47; + public const int GLFW_KEY_0 = 48; + public const int GLFW_KEY_1 = 49; + public const int GLFW_KEY_2 = 50; + public const int GLFW_KEY_3 = 51; + public const int GLFW_KEY_4 = 52; + public const int GLFW_KEY_5 = 53; + public const int GLFW_KEY_6 = 54; + public const int GLFW_KEY_7 = 55; + public const int GLFW_KEY_8 = 56; + public const int GLFW_KEY_9 = 57; + public const int GLFW_KEY_SEMICOLON = 59; + public const int GLFW_KEY_EQUAL = 61; + public const int GLFW_KEY_A = 65; + public const int GLFW_KEY_B = 66; + public const int GLFW_KEY_C = 67; + public const int GLFW_KEY_D = 68; + public const int GLFW_KEY_E = 69; + public const int GLFW_KEY_F = 70; + public const int GLFW_KEY_G = 71; + public const int GLFW_KEY_H = 72; + public const int GLFW_KEY_I = 73; + public const int GLFW_KEY_J = 74; + public const int GLFW_KEY_K = 75; + public const int GLFW_KEY_L = 76; + public const int GLFW_KEY_M = 77; + public const int GLFW_KEY_N = 78; + public const int GLFW_KEY_O = 79; + public const int GLFW_KEY_P = 80; + public const int GLFW_KEY_Q = 81; + public const int GLFW_KEY_R = 82; + public const int GLFW_KEY_S = 83; + public const int GLFW_KEY_T = 84; + public const int GLFW_KEY_U = 85; + public const int GLFW_KEY_V = 86; + public const int GLFW_KEY_W = 87; + public const int GLFW_KEY_X = 88; + public const int GLFW_KEY_Y = 89; + public const int GLFW_KEY_Z = 90; + public const int GLFW_KEY_LEFT_BRACKET = 91; + public const int GLFW_KEY_BACKSLASH = 92; + public const int GLFW_KEY_RIGHT_BRACKET = 93; + public const int GLFW_KEY_GRAVE_ACCENT = 96; + public const int GLFW_KEY_WORLD_1 = 161; + public const int GLFW_KEY_WORLD_2 = 162; + public const int GLFW_KEY_ESCAPE = 256; + public const int GLFW_KEY_ENTER = 257; + public const int GLFW_KEY_TAB = 258; + public const int GLFW_KEY_BACKSPACE = 259; + public const int GLFW_KEY_INSERT = 260; + public const int GLFW_KEY_DELETE = 261; + public const int GLFW_KEY_RIGHT = 262; + public const int GLFW_KEY_LEFT = 263; + public const int GLFW_KEY_DOWN = 264; + public const int GLFW_KEY_UP = 265; + public const int GLFW_KEY_PAGE_UP = 266; + public const int GLFW_KEY_PAGE_DOWN = 267; + public const int GLFW_KEY_HOME = 268; + public const int GLFW_KEY_END = 269; + public const int GLFW_KEY_CAPS_LOCK = 280; + public const int GLFW_KEY_SCROLL_LOCK = 281; + public const int GLFW_KEY_NUM_LOCK = 282; + public const int GLFW_KEY_PRINT_SCREEN = 283; + public const int GLFW_KEY_PAUSE = 284; + public const int GLFW_KEY_F1 = 290; + public const int GLFW_KEY_F2 = 291; + public const int GLFW_KEY_F3 = 292; + public const int GLFW_KEY_F4 = 293; + public const int GLFW_KEY_F5 = 294; + public const int GLFW_KEY_F6 = 295; + public const int GLFW_KEY_F7 = 296; + public const int GLFW_KEY_F8 = 297; + public const int GLFW_KEY_F9 = 298; + public const int GLFW_KEY_F10 = 299; + public const int GLFW_KEY_F11 = 300; + public const int GLFW_KEY_F12 = 301; + public const int GLFW_KEY_F13 = 302; + public const int GLFW_KEY_F14 = 303; + public const int GLFW_KEY_F15 = 304; + public const int GLFW_KEY_F16 = 305; + public const int GLFW_KEY_F17 = 306; + public const int GLFW_KEY_F18 = 307; + public const int GLFW_KEY_F19 = 308; + public const int GLFW_KEY_F20 = 309; + public const int GLFW_KEY_F21 = 310; + public const int GLFW_KEY_F22 = 311; + public const int GLFW_KEY_F23 = 312; + public const int GLFW_KEY_F24 = 313; + public const int GLFW_KEY_F25 = 314; + public const int GLFW_KEY_KP_0 = 320; + public const int GLFW_KEY_KP_1 = 321; + public const int GLFW_KEY_KP_2 = 322; + public const int GLFW_KEY_KP_3 = 323; + public const int GLFW_KEY_KP_4 = 324; + public const int GLFW_KEY_KP_5 = 325; + public const int GLFW_KEY_KP_6 = 326; + public const int GLFW_KEY_KP_7 = 327; + public const int GLFW_KEY_KP_8 = 328; + public const int GLFW_KEY_KP_9 = 329; + public const int GLFW_KEY_KP_DECIMAL = 330; + public const int GLFW_KEY_KP_DIVIDE = 331; + public const int GLFW_KEY_KP_MULTIPLY = 332; + public const int GLFW_KEY_KP_SUBTRACT = 333; + public const int GLFW_KEY_KP_ADD = 334; + public const int GLFW_KEY_KP_ENTER = 335; + public const int GLFW_KEY_KP_EQUAL = 336; + public const int GLFW_KEY_LEFT_SHIFT = 340; + public const int GLFW_KEY_LEFT_CONTROL = 341; + public const int GLFW_KEY_LEFT_ALT = 342; + public const int GLFW_KEY_LEFT_SUPER = 343; + public const int GLFW_KEY_RIGHT_SHIFT = 344; + public const int GLFW_KEY_RIGHT_CONTROL = 345; + public const int GLFW_KEY_RIGHT_ALT = 346; + public const int GLFW_KEY_RIGHT_SUPER = 347; + public const int GLFW_KEY_MENU = 348; + public const int GLFW_KEY_LAST = GLFW_KEY_MENU; + public const int GLFW_MOD_SHIFT = 0x0001; + public const int GLFW_MOD_CONTROL = 0x0002; + public const int GLFW_MOD_ALT = 0x0004; + public const int GLFW_MOD_SUPER = 0x0008; + public const int GLFW_MOD_CAPS_LOCK = 0x0010; + public const int GLFW_MOD_NUM_LOCK = 0x0020; + public const int GLFW_MOUSE_BUTTON_1 = 0; + public const int GLFW_MOUSE_BUTTON_2 = 1; + public const int GLFW_MOUSE_BUTTON_3 = 2; + public const int GLFW_MOUSE_BUTTON_4 = 3; + public const int GLFW_MOUSE_BUTTON_5 = 4; + public const int GLFW_MOUSE_BUTTON_6 = 5; + public const int GLFW_MOUSE_BUTTON_7 = 6; + public const int GLFW_MOUSE_BUTTON_8 = 7; + public const int GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8; + public const int GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1; + public const int GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2; + public const int GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3; + public const int GLFW_JOYSTICK_1 = 0; + public const int GLFW_JOYSTICK_2 = 1; + public const int GLFW_JOYSTICK_3 = 2; + public const int GLFW_JOYSTICK_4 = 3; + public const int GLFW_JOYSTICK_5 = 4; + public const int GLFW_JOYSTICK_6 = 5; + public const int GLFW_JOYSTICK_7 = 6; + public const int GLFW_JOYSTICK_8 = 7; + public const int GLFW_JOYSTICK_9 = 8; + public const int GLFW_JOYSTICK_10 = 9; + public const int GLFW_JOYSTICK_11 = 10; + public const int GLFW_JOYSTICK_12 = 11; + public const int GLFW_JOYSTICK_13 = 12; + public const int GLFW_JOYSTICK_14 = 13; + public const int GLFW_JOYSTICK_15 = 14; + public const int GLFW_JOYSTICK_16 = 15; + public const int GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16; + public const int GLFW_GAMEPAD_BUTTON_A = 0; + public const int GLFW_GAMEPAD_BUTTON_B = 1; + public const int GLFW_GAMEPAD_BUTTON_X = 2; + public const int GLFW_GAMEPAD_BUTTON_Y = 3; + public const int GLFW_GAMEPAD_BUTTON_LEFT_BUMPER = 4; + public const int GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER = 5; + public const int GLFW_GAMEPAD_BUTTON_BACK = 6; + public const int GLFW_GAMEPAD_BUTTON_START = 7; + public const int GLFW_GAMEPAD_BUTTON_GUIDE = 8; + public const int GLFW_GAMEPAD_BUTTON_LEFT_THUMB = 9; + public const int GLFW_GAMEPAD_BUTTON_RIGHT_THUMB = 10; + public const int GLFW_GAMEPAD_BUTTON_DPAD_UP = 11; + public const int GLFW_GAMEPAD_BUTTON_DPAD_RIGHT = 12; + public const int GLFW_GAMEPAD_BUTTON_DPAD_DOWN = 13; + public const int GLFW_GAMEPAD_BUTTON_DPAD_LEFT = 14; + public const int GLFW_GAMEPAD_BUTTON_LAST = GLFW_GAMEPAD_BUTTON_DPAD_LEFT; + public const int GLFW_GAMEPAD_BUTTON_CROSS = GLFW_GAMEPAD_BUTTON_A; + public const int GLFW_GAMEPAD_BUTTON_CIRCLE = GLFW_GAMEPAD_BUTTON_B; + public const int GLFW_GAMEPAD_BUTTON_SQUARE = GLFW_GAMEPAD_BUTTON_X; + public const int GLFW_GAMEPAD_BUTTON_TRIANGLE = GLFW_GAMEPAD_BUTTON_Y; + public const int GLFW_GAMEPAD_AXIS_LEFT_X = 0; + public const int GLFW_GAMEPAD_AXIS_LEFT_Y = 1; + public const int GLFW_GAMEPAD_AXIS_RIGHT_X = 2; + public const int GLFW_GAMEPAD_AXIS_RIGHT_Y = 3; + public const int GLFW_GAMEPAD_AXIS_LEFT_TRIGGER = 4; + public const int GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER = 5; + public const int GLFW_GAMEPAD_AXIS_LAST = GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER; + public const int GLFW_NO_ERROR = 0; + public const int GLFW_NOT_INITIALIZED = 0x00010001; + public const int GLFW_NO_CURRENT_CONTEXT = 0x00010002; + public const int GLFW_INVALID_ENUM = 0x00010003; + public const int GLFW_INVALID_VALUE = 0x00010004; + public const int GLFW_OUT_OF_MEMORY = 0x00010005; + public const int GLFW_API_UNAVAILABLE = 0x00010006; + public const int GLFW_VERSION_UNAVAILABLE = 0x00010007; + public const int GLFW_PLATFORM_ERROR = 0x00010008; + public const int GLFW_FORMAT_UNAVAILABLE = 0x00010009; + public const int GLFW_NO_WINDOW_CONTEXT = 0x0001000A; + public const int GLFW_FOCUSED = 0x00020001; + public const int GLFW_ICONIFIED = 0x00020002; + public const int GLFW_RESIZABLE = 0x00020003; + public const int GLFW_VISIBLE = 0x00020004; + public const int GLFW_DECORATED = 0x00020005; + public const int GLFW_AUTO_ICONIFY = 0x00020006; + public const int GLFW_FLOATING = 0x00020007; + public const int GLFW_MAXIMIZED = 0x00020008; + public const int GLFW_CENTER_CURSOR = 0x00020009; + public const int GLFW_TRANSPARENT_FRAMEBUFFER = 0x0002000A; + public const int GLFW_HOVERED = 0x0002000B; + public const int GLFW_FOCUS_ON_SHOW = 0x0002000C; + public const int GLFW_RED_BITS = 0x00021001; + public const int GLFW_GREEN_BITS = 0x00021002; + public const int GLFW_BLUE_BITS = 0x00021003; + public const int GLFW_ALPHA_BITS = 0x00021004; + public const int GLFW_DEPTH_BITS = 0x00021005; + public const int GLFW_STENCIL_BITS = 0x00021006; + public const int GLFW_ACCUM_RED_BITS = 0x00021007; + public const int GLFW_ACCUM_GREEN_BITS = 0x00021008; + public const int GLFW_ACCUM_BLUE_BITS = 0x00021009; + public const int GLFW_ACCUM_ALPHA_BITS = 0x0002100A; + public const int GLFW_AUX_BUFFERS = 0x0002100B; + public const int GLFW_STEREO = 0x0002100C; + public const int GLFW_SAMPLES = 0x0002100D; + public const int GLFW_SRGB_CAPABLE = 0x0002100E; + public const int GLFW_REFRESH_RATE = 0x0002100F; + public const int GLFW_DOUBLEBUFFER = 0x00021010; + public const int GLFW_CLIENT_API = 0x00022001; + public const int GLFW_CONTEXT_VERSION_MAJOR = 0x00022002; + public const int GLFW_CONTEXT_VERSION_MINOR = 0x00022003; + public const int GLFW_CONTEXT_REVISION = 0x00022004; + public const int GLFW_CONTEXT_ROBUSTNESS = 0x00022005; + public const int GLFW_OPENGL_FORWARD_COMPAT = 0x00022006; + public const int GLFW_OPENGL_DEBUG_CONTEXT = 0x00022007; + public const int GLFW_OPENGL_PROFILE = 0x00022008; + public const int GLFW_CONTEXT_RELEASE_BEHAVIOR = 0x00022009; + public const int GLFW_CONTEXT_NO_ERROR = 0x0002200A; + public const int GLFW_CONTEXT_CREATION_API = 0x0002200B; + public const int GLFW_SCALE_TO_MONITOR = 0x0002200C; + public const int GLFW_COCOA_RETINA_FRAMEBUFFER = 0x00023001; + public const int GLFW_COCOA_FRAME_NAME = 0x00023002; + public const int GLFW_COCOA_GRAPHICS_SWITCHING = 0x00023003; + public const int GLFW_X11_CLASS_NAME = 0x00024001; + public const int GLFW_X11_INSTANCE_NAME = 0x00024002; + public const int GLFW_NO_API = 0; + public const int GLFW_OPENGL_API = 0x00030001; + public const int GLFW_OPENGL_ES_API = 0x00030002; + public const int GLFW_NO_ROBUSTNESS = 0; + public const int GLFW_NO_RESET_NOTIFICATION = 0x00031001; + public const int GLFW_LOSE_CONTEXT_ON_RESET = 0x00031002; + public const int GLFW_OPENGL_ANY_PROFILE = 0; + public const int GLFW_OPENGL_CORE_PROFILE = 0x00032001; + public const int GLFW_OPENGL_COMPAT_PROFILE = 0x00032002; + public const int GLFW_CURSOR = 0x00033001; + public const int GLFW_STICKY_KEYS = 0x00033002; + public const int GLFW_STICKY_MOUSE_BUTTONS = 0x00033003; + public const int GLFW_LOCK_KEY_MODS = 0x00033004; + public const int GLFW_RAW_MOUSE_MOTION = 0x00033005; + public const int GLFW_CURSOR_NORMAL = 0x00034001; + public const int GLFW_CURSOR_HIDDEN = 0x00034002; + public const int GLFW_CURSOR_DISABLED = 0x00034003; + public const int GLFW_ANY_RELEASE_BEHAVIOR = 0; + public const int GLFW_RELEASE_BEHAVIOR_FLUSH = 0x00035001; + public const int GLFW_RELEASE_BEHAVIOR_NONE = 0x00035002; + public const int GLFW_NATIVE_CONTEXT_API = 0x00036001; + public const int GLFW_EGL_CONTEXT_API = 0x00036002; + public const int GLFW_OSMESA_CONTEXT_API = 0x00036003; + public const int GLFW_ARROW_CURSOR = 0x00036001; + public const int GLFW_IBEAM_CURSOR = 0x00036002; + public const int GLFW_CROSSHAIR_CURSOR = 0x00036003; + public const int GLFW_HAND_CURSOR = 0x00036004; + public const int GLFW_HRESIZE_CURSOR = 0x00036005; + public const int GLFW_VRESIZE_CURSOR = 0x00036006; + public const int GLFW_CONNECTED = 0x00040001; + public const int GLFW_DISCONNECTED = 0x00040002; + public const int GLFW_JOYSTICK_HAT_BUTTONS = 0x00050001; + public const int GLFW_COCOA_CHDIR_RESOURCES = 0x00051001; + public const int GLFW_COCOA_MENUBAR = 0x00051002; + public const int GLFW_DONT_CARE = -1; #endregion #region glad - internal const int _1PASS_EXT = 0x80A1; - internal const int _1PASS_SGIS = 0x80A1; - internal const int _2PASS_0_EXT = 0x80A2; - internal const int _2PASS_0_SGIS = 0x80A2; - internal const int _2PASS_1_EXT = 0x80A3; - internal const int _2PASS_1_SGIS = 0x80A3; - internal const int _2X_BIT_ATI = 0x00000001; - internal const int _422_AVERAGE_EXT = 0x80CE; - internal const int _422_EXT = 0x80CC; - internal const int _422_REV_AVERAGE_EXT = 0x80CF; - internal const int _422_REV_EXT = 0x80CD; - internal const int _4PASS_0_EXT = 0x80A4; - internal const int _4PASS_0_SGIS = 0x80A4; - internal const int _4PASS_1_EXT = 0x80A5; - internal const int _4PASS_1_SGIS = 0x80A5; - internal const int _4PASS_2_EXT = 0x80A6; - internal const int _4PASS_2_SGIS = 0x80A6; - internal const int _4PASS_3_EXT = 0x80A7; - internal const int _4PASS_3_SGIS = 0x80A7; - internal const int _4X_BIT_ATI = 0x00000002; - internal const int _8X_BIT_ATI = 0x00000004; - internal const int ABGR_EXT = 0x8000; - internal const int ACCUM_ADJACENT_PAIRS_NV = 0x90AD; - internal const int ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; - internal const int ACTIVE_ATTRIBUTES = 0x8B89; - internal const int ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; - internal const int ACTIVE_PROGRAM = 0x8259; - internal const int ACTIVE_PROGRAM_EXT = 0x8B8D; - internal const int ACTIVE_RESOURCES = 0x92F5; - internal const int ACTIVE_STENCIL_FACE_EXT = 0x8911; - internal const int ACTIVE_SUBROUTINES = 0x8DE5; - internal const int ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; - internal const int ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; - internal const int ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; - internal const int ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; - internal const int ACTIVE_TEXTURE = 0x84E0; - internal const int ACTIVE_TEXTURE_ARB = 0x84E0; - internal const int ACTIVE_UNIFORMS = 0x8B86; - internal const int ACTIVE_UNIFORM_BLOCKS = 0x8A36; - internal const int ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; - internal const int ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; - internal const int ACTIVE_VARIABLES = 0x9305; - internal const int ACTIVE_VARYINGS_NV = 0x8C81; - internal const int ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; - internal const int ACTIVE_VERTEX_UNITS_ARB = 0x86A5; - internal const int ADD_ATI = 0x8963; - internal const int ADD_SIGNED_ARB = 0x8574; - internal const int ADD_SIGNED_EXT = 0x8574; - internal const int ADJACENT_PAIRS_NV = 0x90AE; - internal const int AFFINE_2D_NV = 0x9092; - internal const int AFFINE_3D_NV = 0x9094; - internal const int ALIASED_LINE_WIDTH_RANGE = 0x846E; - internal const int ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; - internal const int ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; - internal const int ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; - internal const int ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; - internal const uint ALL_BARRIER_BITS = 0xFFFFFFFF; - internal const uint ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; - internal const int ALL_COMPLETED_NV = 0x84F2; - internal const uint ALL_PIXELS_AMD = 0xFFFFFFFF; - internal const uint ALL_SHADER_BITS = 0xFFFFFFFF; - internal const int ALL_STATIC_DATA_IBM = 103060; - internal const int ALPHA = 0x1906; - internal const int ALPHA12_EXT = 0x803D; - internal const int ALPHA16F_ARB = 0x881C; - internal const int ALPHA16F_EXT = 0x881C; - internal const int ALPHA16I_EXT = 0x8D8A; - internal const int ALPHA16UI_EXT = 0x8D78; - internal const int ALPHA16_EXT = 0x803E; - internal const int ALPHA16_SNORM = 0x9018; - internal const int ALPHA32F_ARB = 0x8816; - internal const int ALPHA32F_EXT = 0x8816; - internal const int ALPHA32I_EXT = 0x8D84; - internal const int ALPHA32UI_EXT = 0x8D72; - internal const int ALPHA4_EXT = 0x803B; - internal const int ALPHA8I_EXT = 0x8D90; - internal const int ALPHA8UI_EXT = 0x8D7E; - internal const int ALPHA8_EXT = 0x803C; - internal const int ALPHA8_SNORM = 0x9014; - internal const int ALPHA_FLOAT16_APPLE = 0x881C; - internal const int ALPHA_FLOAT16_ATI = 0x881C; - internal const int ALPHA_FLOAT32_APPLE = 0x8816; - internal const int ALPHA_FLOAT32_ATI = 0x8816; - internal const int ALPHA_INTEGER_EXT = 0x8D97; - internal const int ALPHA_MAX_CLAMP_INGR = 0x8567; - internal const int ALPHA_MAX_SGIX = 0x8321; - internal const int ALPHA_MIN_CLAMP_INGR = 0x8563; - internal const int ALPHA_MIN_SGIX = 0x8320; - internal const int ALPHA_REF_COMMAND_NV = 0x000F; - internal const int ALPHA_SNORM = 0x9010; - internal const int ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; - internal const int ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; - internal const int ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; - internal const int ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; - internal const int ALREADY_SIGNALED = 0x911A; - internal const int ALWAYS = 0x0207; - internal const int ALWAYS_FAST_HINT_PGI = 0x1A20C; - internal const int ALWAYS_SOFT_HINT_PGI = 0x1A20D; - internal const int AND = 0x1501; - internal const int AND_INVERTED = 0x1504; - internal const int AND_REVERSE = 0x1502; - internal const int ANY_SAMPLES_PASSED = 0x8C2F; - internal const int ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; - internal const int ARC_TO_NV = 0xFE; - internal const int ARRAY_BUFFER = 0x8892; - internal const int ARRAY_BUFFER_ARB = 0x8892; - internal const int ARRAY_BUFFER_BINDING = 0x8894; - internal const int ARRAY_BUFFER_BINDING_ARB = 0x8894; - internal const int ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; - internal const int ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; - internal const int ARRAY_OBJECT_BUFFER_ATI = 0x8766; - internal const int ARRAY_OBJECT_OFFSET_ATI = 0x8767; - internal const int ARRAY_SIZE = 0x92FB; - internal const int ARRAY_STRIDE = 0x92FE; - internal const int ASYNC_DRAW_PIXELS_SGIX = 0x835D; - internal const int ASYNC_HISTOGRAM_SGIX = 0x832C; - internal const int ASYNC_MARKER_SGIX = 0x8329; - internal const int ASYNC_READ_PIXELS_SGIX = 0x835E; - internal const int ASYNC_TEX_IMAGE_SGIX = 0x835C; - internal const int ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; - internal const int ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; - internal const int ATOMIC_COUNTER_BUFFER = 0x92C0; - internal const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; - internal const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; - internal const int ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; - internal const int ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; - internal const int ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; - internal const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; - internal const int ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; - internal const int ATOMIC_COUNTER_BUFFER_START = 0x92C2; - internal const int ATTACHED_MEMORY_OBJECT_NV = 0x95A4; - internal const int ATTACHED_MEMORY_OFFSET_NV = 0x95A5; - internal const int ATTACHED_SHADERS = 0x8B85; - internal const int ATTENUATION_EXT = 0x834D; - internal const int ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; - internal const int ATTRIB_ARRAY_POINTER_NV = 0x8645; - internal const int ATTRIB_ARRAY_SIZE_NV = 0x8623; - internal const int ATTRIB_ARRAY_STRIDE_NV = 0x8624; - internal const int ATTRIB_ARRAY_TYPE_NV = 0x8625; - internal const int AUTO_GENERATE_MIPMAP = 0x8295; - internal const int AUX_DEPTH_STENCIL_APPLE = 0x8A14; - internal const int AVERAGE_EXT = 0x8335; - internal const int AVERAGE_HP = 0x8160; - internal const int BACK = 0x0405; - internal const int BACK_LEFT = 0x0402; - internal const int BACK_NORMALS_HINT_PGI = 0x1A223; - internal const int BACK_PRIMARY_COLOR_NV = 0x8C77; - internal const int BACK_RIGHT = 0x0403; - internal const int BACK_SECONDARY_COLOR_NV = 0x8C78; - internal const int BEVEL_NV = 0x90A6; - internal const int BGR = 0x80E0; - internal const int BGRA = 0x80E1; - internal const int BGRA8_EXT = 0x93A1; - internal const int BGRA_EXT = 0x80E1; - internal const int BGRA_INTEGER = 0x8D9B; - internal const int BGRA_INTEGER_EXT = 0x8D9B; - internal const int BGR_EXT = 0x80E0; - internal const int BGR_INTEGER = 0x8D9A; - internal const int BGR_INTEGER_EXT = 0x8D9A; - internal const int BIAS_BIT_ATI = 0x00000008; - internal const int BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; - internal const int BINORMAL_ARRAY_EXT = 0x843A; - internal const int BINORMAL_ARRAY_POINTER_EXT = 0x8443; - internal const int BINORMAL_ARRAY_STRIDE_EXT = 0x8441; - internal const int BINORMAL_ARRAY_TYPE_EXT = 0x8440; - internal const int BLACKHOLE_RENDER_INTEL = 0x83FC; - internal const int BLEND = 0x0BE2; - internal const int BLEND_ADVANCED_COHERENT_KHR = 0x9285; - internal const int BLEND_ADVANCED_COHERENT_NV = 0x9285; - internal const int BLEND_COLOR = 0x8005; - internal const int BLEND_COLOR_COMMAND_NV = 0x000B; - internal const int BLEND_COLOR_EXT = 0x8005; - internal const int BLEND_DST = 0x0BE0; - internal const int BLEND_DST_ALPHA = 0x80CA; - internal const int BLEND_DST_ALPHA_EXT = 0x80CA; - internal const int BLEND_DST_RGB = 0x80C8; - internal const int BLEND_DST_RGB_EXT = 0x80C8; - internal const int BLEND_EQUATION = 0x8009; - internal const int BLEND_EQUATION_ALPHA = 0x883D; - internal const int BLEND_EQUATION_ALPHA_EXT = 0x883D; - internal const int BLEND_EQUATION_EXT = 0x8009; - internal const int BLEND_EQUATION_RGB = 0x8009; - internal const int BLEND_EQUATION_RGB_EXT = 0x8009; - internal const int BLEND_OVERLAP_NV = 0x9281; - internal const int BLEND_PREMULTIPLIED_SRC_NV = 0x9280; - internal const int BLEND_SRC = 0x0BE1; - internal const int BLEND_SRC_ALPHA = 0x80CB; - internal const int BLEND_SRC_ALPHA_EXT = 0x80CB; - internal const int BLEND_SRC_RGB = 0x80C9; - internal const int BLEND_SRC_RGB_EXT = 0x80C9; - internal const int BLOCK_INDEX = 0x92FD; - internal const int BLUE = 0x1905; - internal const int BLUE_BIT_ATI = 0x00000004; - internal const int BLUE_INTEGER = 0x8D96; - internal const int BLUE_INTEGER_EXT = 0x8D96; - internal const int BLUE_MAX_CLAMP_INGR = 0x8566; - internal const int BLUE_MIN_CLAMP_INGR = 0x8562; - internal const int BLUE_NV = 0x1905; - internal const int BOLD_BIT_NV = 0x01; - internal const int BOOL = 0x8B56; - internal const int BOOL_ARB = 0x8B56; - internal const int BOOL_VEC2 = 0x8B57; - internal const int BOOL_VEC2_ARB = 0x8B57; - internal const int BOOL_VEC3 = 0x8B58; - internal const int BOOL_VEC3_ARB = 0x8B58; - internal const int BOOL_VEC4 = 0x8B59; - internal const int BOOL_VEC4_ARB = 0x8B59; - internal const int BOUNDING_BOX_NV = 0x908D; - internal const int BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; - internal const int BUFFER = 0x82E0; - internal const int BUFFER_ACCESS = 0x88BB; - internal const int BUFFER_ACCESS_ARB = 0x88BB; - internal const int BUFFER_ACCESS_FLAGS = 0x911F; - internal const int BUFFER_BINDING = 0x9302; - internal const int BUFFER_DATA_SIZE = 0x9303; - internal const int BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; - internal const int BUFFER_GPU_ADDRESS_NV = 0x8F1D; - internal const int BUFFER_IMMUTABLE_STORAGE = 0x821F; - internal const int BUFFER_MAPPED = 0x88BC; - internal const int BUFFER_MAPPED_ARB = 0x88BC; - internal const int BUFFER_MAP_LENGTH = 0x9120; - internal const int BUFFER_MAP_OFFSET = 0x9121; - internal const int BUFFER_MAP_POINTER = 0x88BD; - internal const int BUFFER_MAP_POINTER_ARB = 0x88BD; - internal const int BUFFER_OBJECT_APPLE = 0x85B3; - internal const int BUFFER_OBJECT_EXT = 0x9151; - internal const int BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; - internal const int BUFFER_SIZE = 0x8764; - internal const int BUFFER_SIZE_ARB = 0x8764; - internal const int BUFFER_STORAGE_FLAGS = 0x8220; - internal const int BUFFER_UPDATE_BARRIER_BIT = 0x00000200; - internal const int BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; - internal const int BUFFER_USAGE = 0x8765; - internal const int BUFFER_USAGE_ARB = 0x8765; - internal const int BUFFER_VARIABLE = 0x92E5; - internal const int BUMP_ENVMAP_ATI = 0x877B; - internal const int BUMP_NUM_TEX_UNITS_ATI = 0x8777; - internal const int BUMP_ROT_MATRIX_ATI = 0x8775; - internal const int BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; - internal const int BUMP_TARGET_ATI = 0x877C; - internal const int BUMP_TEX_UNITS_ATI = 0x8778; - internal const int BYTE = 0x1400; - internal const int CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; - internal const int CAVEAT_SUPPORT = 0x82B8; - internal const int CCW = 0x0901; - internal const int CIRCULAR_CCW_ARC_TO_NV = 0xF8; - internal const int CIRCULAR_CW_ARC_TO_NV = 0xFA; - internal const int CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; - internal const int CLAMP_FRAGMENT_COLOR_ARB = 0x891B; - internal const int CLAMP_READ_COLOR = 0x891C; - internal const int CLAMP_READ_COLOR_ARB = 0x891C; - internal const int CLAMP_TO_BORDER = 0x812D; - internal const int CLAMP_TO_BORDER_ARB = 0x812D; - internal const int CLAMP_TO_BORDER_SGIS = 0x812D; - internal const int CLAMP_TO_EDGE = 0x812F; - internal const int CLAMP_TO_EDGE_SGIS = 0x812F; - internal const int CLAMP_VERTEX_COLOR_ARB = 0x891A; - internal const int CLEAR = 0x1500; - internal const int CLEAR_BUFFER = 0x82B4; - internal const int CLEAR_TEXTURE = 0x9365; - internal const int CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; - internal const int CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; - internal const int CLIENT_STORAGE_BIT = 0x0200; - internal const int CLIPPING_INPUT_PRIMITIVES = 0x82F6; - internal const int CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; - internal const int CLIPPING_OUTPUT_PRIMITIVES = 0x82F7; - internal const int CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; - internal const int CLIP_DEPTH_MODE = 0x935D; - internal const int CLIP_DISTANCE0 = 0x3000; - internal const int CLIP_DISTANCE1 = 0x3001; - internal const int CLIP_DISTANCE2 = 0x3002; - internal const int CLIP_DISTANCE3 = 0x3003; - internal const int CLIP_DISTANCE4 = 0x3004; - internal const int CLIP_DISTANCE5 = 0x3005; - internal const int CLIP_DISTANCE6 = 0x3006; - internal const int CLIP_DISTANCE7 = 0x3007; - internal const int CLIP_DISTANCE_NV = 0x8C7A; - internal const int CLIP_FAR_HINT_PGI = 0x1A221; - internal const int CLIP_NEAR_HINT_PGI = 0x1A220; - internal const int CLIP_ORIGIN = 0x935C; - internal const int CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; - internal const int CLOSE_PATH_NV = 0x00; - internal const int CMYKA_EXT = 0x800D; - internal const int CMYK_EXT = 0x800C; - internal const int CND0_ATI = 0x896B; - internal const int CND_ATI = 0x896A; - internal const int COLOR = 0x1800; - internal const int COLOR3_BIT_PGI = 0x00010000; - internal const int COLOR4_BIT_PGI = 0x00020000; - internal const int COLORBURN_KHR = 0x929A; - internal const int COLORBURN_NV = 0x929A; - internal const int COLORDODGE_KHR = 0x9299; - internal const int COLORDODGE_NV = 0x9299; - internal const int COLOR_ALPHA_PAIRING_ATI = 0x8975; - internal const int COLOR_ARRAY_ADDRESS_NV = 0x8F23; - internal const int COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; - internal const int COLOR_ARRAY_COUNT_EXT = 0x8084; - internal const int COLOR_ARRAY_EXT = 0x8076; - internal const int COLOR_ARRAY_LENGTH_NV = 0x8F2D; - internal const int COLOR_ARRAY_LIST_IBM = 103072; - internal const int COLOR_ARRAY_LIST_STRIDE_IBM = 103082; - internal const int COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; - internal const int COLOR_ARRAY_POINTER_EXT = 0x8090; - internal const int COLOR_ARRAY_SIZE_EXT = 0x8081; - internal const int COLOR_ARRAY_STRIDE_EXT = 0x8083; - internal const int COLOR_ARRAY_TYPE_EXT = 0x8082; - internal const int COLOR_ATTACHMENT0 = 0x8CE0; - internal const int COLOR_ATTACHMENT0_EXT = 0x8CE0; - internal const int COLOR_ATTACHMENT1 = 0x8CE1; - internal const int COLOR_ATTACHMENT10 = 0x8CEA; - internal const int COLOR_ATTACHMENT10_EXT = 0x8CEA; - internal const int COLOR_ATTACHMENT11 = 0x8CEB; - internal const int COLOR_ATTACHMENT11_EXT = 0x8CEB; - internal const int COLOR_ATTACHMENT12 = 0x8CEC; - internal const int COLOR_ATTACHMENT12_EXT = 0x8CEC; - internal const int COLOR_ATTACHMENT13 = 0x8CED; - internal const int COLOR_ATTACHMENT13_EXT = 0x8CED; - internal const int COLOR_ATTACHMENT14 = 0x8CEE; - internal const int COLOR_ATTACHMENT14_EXT = 0x8CEE; - internal const int COLOR_ATTACHMENT15 = 0x8CEF; - internal const int COLOR_ATTACHMENT15_EXT = 0x8CEF; - internal const int COLOR_ATTACHMENT16 = 0x8CF0; - internal const int COLOR_ATTACHMENT17 = 0x8CF1; - internal const int COLOR_ATTACHMENT18 = 0x8CF2; - internal const int COLOR_ATTACHMENT19 = 0x8CF3; - internal const int COLOR_ATTACHMENT1_EXT = 0x8CE1; - internal const int COLOR_ATTACHMENT2 = 0x8CE2; - internal const int COLOR_ATTACHMENT20 = 0x8CF4; - internal const int COLOR_ATTACHMENT21 = 0x8CF5; - internal const int COLOR_ATTACHMENT22 = 0x8CF6; - internal const int COLOR_ATTACHMENT23 = 0x8CF7; - internal const int COLOR_ATTACHMENT24 = 0x8CF8; - internal const int COLOR_ATTACHMENT25 = 0x8CF9; - internal const int COLOR_ATTACHMENT26 = 0x8CFA; - internal const int COLOR_ATTACHMENT27 = 0x8CFB; - internal const int COLOR_ATTACHMENT28 = 0x8CFC; - internal const int COLOR_ATTACHMENT29 = 0x8CFD; - internal const int COLOR_ATTACHMENT2_EXT = 0x8CE2; - internal const int COLOR_ATTACHMENT3 = 0x8CE3; - internal const int COLOR_ATTACHMENT30 = 0x8CFE; - internal const int COLOR_ATTACHMENT31 = 0x8CFF; - internal const int COLOR_ATTACHMENT3_EXT = 0x8CE3; - internal const int COLOR_ATTACHMENT4 = 0x8CE4; - internal const int COLOR_ATTACHMENT4_EXT = 0x8CE4; - internal const int COLOR_ATTACHMENT5 = 0x8CE5; - internal const int COLOR_ATTACHMENT5_EXT = 0x8CE5; - internal const int COLOR_ATTACHMENT6 = 0x8CE6; - internal const int COLOR_ATTACHMENT6_EXT = 0x8CE6; - internal const int COLOR_ATTACHMENT7 = 0x8CE7; - internal const int COLOR_ATTACHMENT7_EXT = 0x8CE7; - internal const int COLOR_ATTACHMENT8 = 0x8CE8; - internal const int COLOR_ATTACHMENT8_EXT = 0x8CE8; - internal const int COLOR_ATTACHMENT9 = 0x8CE9; - internal const int COLOR_ATTACHMENT9_EXT = 0x8CE9; - internal const int COLOR_BUFFER_BIT = 0x00004000; - internal const int COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; - internal const int COLOR_CLEAR_VALUE = 0x0C22; - internal const int COLOR_COMPONENTS = 0x8283; - internal const int COLOR_ENCODING = 0x8296; - internal const int COLOR_FLOAT_APPLE = 0x8A0F; - internal const int COLOR_INDEX12_EXT = 0x80E6; - internal const int COLOR_INDEX16_EXT = 0x80E7; - internal const int COLOR_INDEX1_EXT = 0x80E2; - internal const int COLOR_INDEX2_EXT = 0x80E3; - internal const int COLOR_INDEX4_EXT = 0x80E4; - internal const int COLOR_INDEX8_EXT = 0x80E5; - internal const int COLOR_LOGIC_OP = 0x0BF2; - internal const int COLOR_MATRIX_SGI = 0x80B1; - internal const int COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; - internal const int COLOR_RENDERABLE = 0x8286; - internal const int COLOR_SAMPLES_NV = 0x8E20; - internal const int COLOR_SUM_ARB = 0x8458; - internal const int COLOR_SUM_CLAMP_NV = 0x854F; - internal const int COLOR_SUM_EXT = 0x8458; - internal const int COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; - internal const int COLOR_TABLE_BIAS_SGI = 0x80D7; - internal const int COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; - internal const int COLOR_TABLE_FORMAT_SGI = 0x80D8; - internal const int COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; - internal const int COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; - internal const int COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; - internal const int COLOR_TABLE_RED_SIZE_SGI = 0x80DA; - internal const int COLOR_TABLE_SCALE_SGI = 0x80D6; - internal const int COLOR_TABLE_SGI = 0x80D0; - internal const int COLOR_TABLE_WIDTH_SGI = 0x80D9; - internal const int COLOR_WRITEMASK = 0x0C23; - internal const int COMBINE4_NV = 0x8503; - internal const int COMBINER0_NV = 0x8550; - internal const int COMBINER1_NV = 0x8551; - internal const int COMBINER2_NV = 0x8552; - internal const int COMBINER3_NV = 0x8553; - internal const int COMBINER4_NV = 0x8554; - internal const int COMBINER5_NV = 0x8555; - internal const int COMBINER6_NV = 0x8556; - internal const int COMBINER7_NV = 0x8557; - internal const int COMBINER_AB_DOT_PRODUCT_NV = 0x8545; - internal const int COMBINER_AB_OUTPUT_NV = 0x854A; - internal const int COMBINER_BIAS_NV = 0x8549; - internal const int COMBINER_CD_DOT_PRODUCT_NV = 0x8546; - internal const int COMBINER_CD_OUTPUT_NV = 0x854B; - internal const int COMBINER_COMPONENT_USAGE_NV = 0x8544; - internal const int COMBINER_INPUT_NV = 0x8542; - internal const int COMBINER_MAPPING_NV = 0x8543; - internal const int COMBINER_MUX_SUM_NV = 0x8547; - internal const int COMBINER_SCALE_NV = 0x8548; - internal const int COMBINER_SUM_OUTPUT_NV = 0x854C; - internal const int COMBINE_ALPHA_ARB = 0x8572; - internal const int COMBINE_ALPHA_EXT = 0x8572; - internal const int COMBINE_ARB = 0x8570; - internal const int COMBINE_EXT = 0x8570; - internal const int COMBINE_RGB_ARB = 0x8571; - internal const int COMBINE_RGB_EXT = 0x8571; - internal const int COMMAND_BARRIER_BIT = 0x00000040; - internal const int COMMAND_BARRIER_BIT_EXT = 0x00000040; - internal const int COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; - internal const int COMPARE_REF_TO_TEXTURE = 0x884E; - internal const int COMPARE_R_TO_TEXTURE_ARB = 0x884E; - internal const int COMPATIBLE_SUBROUTINES = 0x8E4B; - internal const int COMPILE_STATUS = 0x8B81; - internal const int COMPLETION_STATUS_ARB = 0x91B1; - internal const int COMPLETION_STATUS_KHR = 0x91B1; - internal const int COMPRESSED_ALPHA_ARB = 0x84E9; - internal const int COMPRESSED_INTENSITY_ARB = 0x84EC; - internal const int COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; - internal const int COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; - internal const int COMPRESSED_LUMINANCE_ARB = 0x84EA; - internal const int COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; - internal const int COMPRESSED_R11_EAC = 0x9270; - internal const int COMPRESSED_RED = 0x8225; - internal const int COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; - internal const int COMPRESSED_RED_RGTC1 = 0x8DBB; - internal const int COMPRESSED_RED_RGTC1_EXT = 0x8DBB; - internal const int COMPRESSED_RG = 0x8226; - internal const int COMPRESSED_RG11_EAC = 0x9272; - internal const int COMPRESSED_RGB = 0x84ED; - internal const int COMPRESSED_RGB8_ETC2 = 0x9274; - internal const int COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; - internal const int COMPRESSED_RGBA = 0x84EE; - internal const int COMPRESSED_RGBA8_ETC2_EAC = 0x9278; - internal const int COMPRESSED_RGBA_ARB = 0x84EE; - internal const int COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; - internal const int COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; - internal const int COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; - internal const int COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; - internal const int COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; - internal const int COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; - internal const int COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; - internal const int COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; - internal const int COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; - internal const int COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; - internal const int COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; - internal const int COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; - internal const int COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; - internal const int COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; - internal const int COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; - internal const int COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; - internal const int COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; - internal const int COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; - internal const int COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; - internal const int COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; - internal const int COMPRESSED_RGB_ARB = 0x84ED; - internal const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; - internal const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; - internal const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; - internal const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; - internal const int COMPRESSED_RGB_FXT1_3DFX = 0x86B0; - internal const int COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; - internal const int COMPRESSED_RG_RGTC2 = 0x8DBD; - internal const int COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; - internal const int COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; - internal const int COMPRESSED_SIGNED_R11_EAC = 0x9271; - internal const int COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; - internal const int COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; - internal const int COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; - internal const int COMPRESSED_SIGNED_RG11_EAC = 0x9273; - internal const int COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; - internal const int COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; - internal const int COMPRESSED_SLUMINANCE_EXT = 0x8C4A; - internal const int COMPRESSED_SRGB = 0x8C48; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; - internal const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; - internal const int COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; - internal const int COMPRESSED_SRGB8_ETC2 = 0x9275; - internal const int COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; - internal const int COMPRESSED_SRGB_ALPHA = 0x8C49; - internal const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; - internal const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; - internal const int COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; - internal const int COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; - internal const int COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; - internal const int COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; - internal const int COMPRESSED_SRGB_EXT = 0x8C48; - internal const int COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; - internal const int COMPRESSED_TEXTURE_FORMATS = 0x86A3; - internal const int COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; - internal const int COMPUTE_PROGRAM_NV = 0x90FB; - internal const int COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; - internal const int COMPUTE_SHADER = 0x91B9; - internal const int COMPUTE_SHADER_BIT = 0x00000020; - internal const int COMPUTE_SHADER_INVOCATIONS = 0x82F5; - internal const int COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; - internal const int COMPUTE_SUBROUTINE = 0x92ED; - internal const int COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; - internal const int COMPUTE_TEXTURE = 0x82A0; - internal const int COMPUTE_WORK_GROUP_SIZE = 0x8267; - internal const int COMP_BIT_ATI = 0x00000002; - internal const int CONDITION_SATISFIED = 0x911C; - internal const int CONFORMANT_NV = 0x9374; - internal const int CONIC_CURVE_TO_NV = 0x1A; - internal const int CONJOINT_NV = 0x9284; - internal const int CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; - internal const int CONSERVATIVE_RASTERIZATION_NV = 0x9346; - internal const int CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; - internal const int CONSERVATIVE_RASTER_DILATE_NV = 0x9379; - internal const int CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; - internal const int CONSERVATIVE_RASTER_MODE_NV = 0x954D; - internal const int CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; - internal const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; - internal const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; - internal const int CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; - internal const int CONSTANT_ALPHA = 0x8003; - internal const int CONSTANT_ALPHA_EXT = 0x8003; - internal const int CONSTANT_ARB = 0x8576; - internal const int CONSTANT_BORDER_HP = 0x8151; - internal const int CONSTANT_COLOR = 0x8001; - internal const int CONSTANT_COLOR0_NV = 0x852A; - internal const int CONSTANT_COLOR1_NV = 0x852B; - internal const int CONSTANT_COLOR_EXT = 0x8001; - internal const int CONSTANT_EXT = 0x8576; - internal const int CONST_EYE_NV = 0x86E5; - internal const int CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; - internal const int CONTEXT_CORE_PROFILE_BIT = 0x00000001; - internal const int CONTEXT_FLAGS = 0x821E; - internal const int CONTEXT_FLAG_DEBUG_BIT = 0x00000002; - internal const int CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; - internal const int CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008; - internal const int CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; - internal const int CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; - internal const int CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; - internal const int CONTEXT_LOST = 0x0507; - internal const int CONTEXT_PROFILE_MASK = 0x9126; - internal const int CONTEXT_RELEASE_BEHAVIOR = 0x82FB; - internal const int CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; - internal const int CONTEXT_ROBUST_ACCESS = 0x90F3; - internal const int CONTINUOUS_AMD = 0x9007; - internal const int CONTRAST_NV = 0x92A1; - internal const int CONVEX_HULL_NV = 0x908B; - internal const int CONVOLUTION_1D_EXT = 0x8010; - internal const int CONVOLUTION_2D_EXT = 0x8011; - internal const int CONVOLUTION_BORDER_COLOR_HP = 0x8154; - internal const int CONVOLUTION_BORDER_MODE_EXT = 0x8013; - internal const int CONVOLUTION_FILTER_BIAS_EXT = 0x8015; - internal const int CONVOLUTION_FILTER_SCALE_EXT = 0x8014; - internal const int CONVOLUTION_FORMAT_EXT = 0x8017; - internal const int CONVOLUTION_HEIGHT_EXT = 0x8019; - internal const int CONVOLUTION_HINT_SGIX = 0x8316; - internal const int CONVOLUTION_WIDTH_EXT = 0x8018; - internal const int CON_0_ATI = 0x8941; - internal const int CON_10_ATI = 0x894B; - internal const int CON_11_ATI = 0x894C; - internal const int CON_12_ATI = 0x894D; - internal const int CON_13_ATI = 0x894E; - internal const int CON_14_ATI = 0x894F; - internal const int CON_15_ATI = 0x8950; - internal const int CON_16_ATI = 0x8951; - internal const int CON_17_ATI = 0x8952; - internal const int CON_18_ATI = 0x8953; - internal const int CON_19_ATI = 0x8954; - internal const int CON_1_ATI = 0x8942; - internal const int CON_20_ATI = 0x8955; - internal const int CON_21_ATI = 0x8956; - internal const int CON_22_ATI = 0x8957; - internal const int CON_23_ATI = 0x8958; - internal const int CON_24_ATI = 0x8959; - internal const int CON_25_ATI = 0x895A; - internal const int CON_26_ATI = 0x895B; - internal const int CON_27_ATI = 0x895C; - internal const int CON_28_ATI = 0x895D; - internal const int CON_29_ATI = 0x895E; - internal const int CON_2_ATI = 0x8943; - internal const int CON_30_ATI = 0x895F; - internal const int CON_31_ATI = 0x8960; - internal const int CON_3_ATI = 0x8944; - internal const int CON_4_ATI = 0x8945; - internal const int CON_5_ATI = 0x8946; - internal const int CON_6_ATI = 0x8947; - internal const int CON_7_ATI = 0x8948; - internal const int CON_8_ATI = 0x8949; - internal const int CON_9_ATI = 0x894A; - internal const int COORD_REPLACE_ARB = 0x8862; - internal const int COORD_REPLACE_NV = 0x8862; - internal const int COPY = 0x1503; - internal const int COPY_INVERTED = 0x150C; - internal const int COPY_READ_BUFFER = 0x8F36; - internal const int COPY_READ_BUFFER_BINDING = 0x8F36; - internal const int COPY_WRITE_BUFFER = 0x8F37; - internal const int COPY_WRITE_BUFFER_BINDING = 0x8F37; - internal const int COUNTER_RANGE_AMD = 0x8BC1; - internal const int COUNTER_TYPE_AMD = 0x8BC0; - internal const int COUNT_DOWN_NV = 0x9089; - internal const int COUNT_UP_NV = 0x9088; - internal const int COVERAGE_MODULATION_NV = 0x9332; - internal const int COVERAGE_MODULATION_TABLE_NV = 0x9331; - internal const int COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; - internal const int CUBIC_CURVE_TO_NV = 0x0C; - internal const int CUBIC_EXT = 0x8334; - internal const int CUBIC_HP = 0x815F; - internal const int CULL_FACE = 0x0B44; - internal const int CULL_FACE_MODE = 0x0B45; - internal const int CULL_FRAGMENT_NV = 0x86E7; - internal const int CULL_MODES_NV = 0x86E0; - internal const int CULL_VERTEX_EXT = 0x81AA; - internal const int CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; - internal const int CULL_VERTEX_IBM = 103050; - internal const int CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; - internal const int CURRENT_ATTRIB_NV = 0x8626; - internal const int CURRENT_BINORMAL_EXT = 0x843C; - internal const int CURRENT_FOG_COORDINATE_EXT = 0x8453; - internal const int CURRENT_MATRIX_ARB = 0x8641; - internal const int CURRENT_MATRIX_INDEX_ARB = 0x8845; - internal const int CURRENT_MATRIX_NV = 0x8641; - internal const int CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - internal const int CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; - internal const int CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; - internal const int CURRENT_PALETTE_MATRIX_ARB = 0x8843; - internal const int CURRENT_PROGRAM = 0x8B8D; - internal const int CURRENT_QUERY = 0x8865; - internal const int CURRENT_QUERY_ARB = 0x8865; - internal const int CURRENT_RASTER_NORMAL_SGIX = 0x8406; - internal const int CURRENT_SECONDARY_COLOR_EXT = 0x8459; - internal const int CURRENT_TANGENT_EXT = 0x843B; - internal const int CURRENT_TIME_NV = 0x8E28; - internal const int CURRENT_VERTEX_ATTRIB = 0x8626; - internal const int CURRENT_VERTEX_ATTRIB_ARB = 0x8626; - internal const int CURRENT_VERTEX_EXT = 0x87E2; - internal const int CURRENT_VERTEX_WEIGHT_EXT = 0x850B; - internal const int CURRENT_WEIGHT_ARB = 0x86A8; - internal const int CW = 0x0900; - internal const int D3D12_FENCE_VALUE_EXT = 0x9595; - internal const int DARKEN_KHR = 0x9297; - internal const int DARKEN_NV = 0x9297; - internal const int DATA_BUFFER_AMD = 0x9151; - internal const int DEBUG_CALLBACK_FUNCTION = 0x8244; - internal const int DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; - internal const int DEBUG_CALLBACK_USER_PARAM = 0x8245; - internal const int DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; - internal const int DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; - internal const int DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; - internal const int DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; - internal const int DEBUG_CATEGORY_OTHER_AMD = 0x9150; - internal const int DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; - internal const int DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; - internal const int DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; - internal const int DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; - internal const int DEBUG_GROUP_STACK_DEPTH = 0x826D; - internal const int DEBUG_LOGGED_MESSAGES = 0x9145; - internal const int DEBUG_LOGGED_MESSAGES_AMD = 0x9145; - internal const int DEBUG_LOGGED_MESSAGES_ARB = 0x9145; - internal const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; - internal const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; - internal const int DEBUG_OUTPUT = 0x92E0; - internal const int DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; - internal const int DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; - internal const int DEBUG_SEVERITY_HIGH = 0x9146; - internal const int DEBUG_SEVERITY_HIGH_AMD = 0x9146; - internal const int DEBUG_SEVERITY_HIGH_ARB = 0x9146; - internal const int DEBUG_SEVERITY_LOW = 0x9148; - internal const int DEBUG_SEVERITY_LOW_AMD = 0x9148; - internal const int DEBUG_SEVERITY_LOW_ARB = 0x9148; - internal const int DEBUG_SEVERITY_MEDIUM = 0x9147; - internal const int DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; - internal const int DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; - internal const int DEBUG_SEVERITY_NOTIFICATION = 0x826B; - internal const int DEBUG_SOURCE_API = 0x8246; - internal const int DEBUG_SOURCE_API_ARB = 0x8246; - internal const int DEBUG_SOURCE_APPLICATION = 0x824A; - internal const int DEBUG_SOURCE_APPLICATION_ARB = 0x824A; - internal const int DEBUG_SOURCE_OTHER = 0x824B; - internal const int DEBUG_SOURCE_OTHER_ARB = 0x824B; - internal const int DEBUG_SOURCE_SHADER_COMPILER = 0x8248; - internal const int DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; - internal const int DEBUG_SOURCE_THIRD_PARTY = 0x8249; - internal const int DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; - internal const int DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; - internal const int DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; - internal const int DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; - internal const int DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; - internal const int DEBUG_TYPE_ERROR = 0x824C; - internal const int DEBUG_TYPE_ERROR_ARB = 0x824C; - internal const int DEBUG_TYPE_MARKER = 0x8268; - internal const int DEBUG_TYPE_OTHER = 0x8251; - internal const int DEBUG_TYPE_OTHER_ARB = 0x8251; - internal const int DEBUG_TYPE_PERFORMANCE = 0x8250; - internal const int DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; - internal const int DEBUG_TYPE_POP_GROUP = 0x826A; - internal const int DEBUG_TYPE_PORTABILITY = 0x824F; - internal const int DEBUG_TYPE_PORTABILITY_ARB = 0x824F; - internal const int DEBUG_TYPE_PUSH_GROUP = 0x8269; - internal const int DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; - internal const int DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; - internal const int DECODE_EXT = 0x8A49; - internal const int DECR = 0x1E03; - internal const int DECR_WRAP = 0x8508; - internal const int DECR_WRAP_EXT = 0x8508; - internal const int DEDICATED_MEMORY_OBJECT_EXT = 0x9581; - internal const int DEFORMATIONS_MASK_SGIX = 0x8196; - internal const int DELETE_STATUS = 0x8B80; - internal const int DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; - internal const int DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; - internal const int DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; - internal const int DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; - internal const int DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; - internal const int DEPTH = 0x1801; - internal const int DEPTH24_STENCIL8 = 0x88F0; - internal const int DEPTH24_STENCIL8_EXT = 0x88F0; - internal const int DEPTH32F_STENCIL8 = 0x8CAD; - internal const int DEPTH32F_STENCIL8_NV = 0x8DAC; - internal const int DEPTH_ATTACHMENT = 0x8D00; - internal const int DEPTH_ATTACHMENT_EXT = 0x8D00; - internal const int DEPTH_BOUNDS_EXT = 0x8891; - internal const int DEPTH_BOUNDS_TEST_EXT = 0x8890; - internal const int DEPTH_BUFFER_BIT = 0x00000100; - internal const int DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; - internal const int DEPTH_CLAMP = 0x864F; - internal const int DEPTH_CLAMP_FAR_AMD = 0x901F; - internal const int DEPTH_CLAMP_NEAR_AMD = 0x901E; - internal const int DEPTH_CLAMP_NV = 0x864F; - internal const int DEPTH_CLEAR_VALUE = 0x0B73; - internal const int DEPTH_COMPONENT = 0x1902; - internal const int DEPTH_COMPONENT16 = 0x81A5; - internal const int DEPTH_COMPONENT16_ARB = 0x81A5; - internal const int DEPTH_COMPONENT16_SGIX = 0x81A5; - internal const int DEPTH_COMPONENT24 = 0x81A6; - internal const int DEPTH_COMPONENT24_ARB = 0x81A6; - internal const int DEPTH_COMPONENT24_SGIX = 0x81A6; - internal const int DEPTH_COMPONENT32 = 0x81A7; - internal const int DEPTH_COMPONENT32F = 0x8CAC; - internal const int DEPTH_COMPONENT32F_NV = 0x8DAB; - internal const int DEPTH_COMPONENT32_ARB = 0x81A7; - internal const int DEPTH_COMPONENT32_SGIX = 0x81A7; - internal const int DEPTH_COMPONENTS = 0x8284; - internal const int DEPTH_FUNC = 0x0B74; - internal const int DEPTH_RANGE = 0x0B70; - internal const int DEPTH_RENDERABLE = 0x8287; - internal const int DEPTH_SAMPLES_NV = 0x932D; - internal const int DEPTH_STENCIL = 0x84F9; - internal const int DEPTH_STENCIL_ATTACHMENT = 0x821A; - internal const int DEPTH_STENCIL_EXT = 0x84F9; - internal const int DEPTH_STENCIL_NV = 0x84F9; - internal const int DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; - internal const int DEPTH_STENCIL_TO_BGRA_NV = 0x886F; - internal const int DEPTH_STENCIL_TO_RGBA_NV = 0x886E; - internal const int DEPTH_TEST = 0x0B71; - internal const int DEPTH_TEXTURE_MODE_ARB = 0x884B; - internal const int DEPTH_WRITEMASK = 0x0B72; - internal const int DETACHED_BUFFERS_NV = 0x95AB; - internal const int DETACHED_MEMORY_INCARNATION_NV = 0x95A9; - internal const int DETACHED_TEXTURES_NV = 0x95AA; - internal const int DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; - internal const int DETAIL_TEXTURE_2D_SGIS = 0x8095; - internal const int DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; - internal const int DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; - internal const int DETAIL_TEXTURE_MODE_SGIS = 0x809B; - internal const int DEVICE_LUID_EXT = 0x9599; - internal const int DEVICE_NODE_MASK_EXT = 0x959A; - internal const int DEVICE_UUID_EXT = 0x9597; - internal const int DIFFERENCE_KHR = 0x929E; - internal const int DIFFERENCE_NV = 0x929E; - internal const int DISCARD_ATI = 0x8763; - internal const int DISCARD_NV = 0x8530; - internal const int DISCRETE_AMD = 0x9006; - internal const int DISJOINT_NV = 0x9283; - internal const int DISPATCH_INDIRECT_BUFFER = 0x90EE; - internal const int DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; - internal const int DISTANCE_ATTENUATION_EXT = 0x8129; - internal const int DISTANCE_ATTENUATION_SGIS = 0x8129; - internal const int DITHER = 0x0BD0; - internal const int DONT_CARE = 0x1100; - internal const int DOT2_ADD_ATI = 0x896C; - internal const int DOT3_ATI = 0x8966; - internal const int DOT3_RGBA_ARB = 0x86AF; - internal const int DOT3_RGBA_EXT = 0x8741; - internal const int DOT3_RGB_ARB = 0x86AE; - internal const int DOT3_RGB_EXT = 0x8740; - internal const int DOT4_ATI = 0x8967; - internal const int DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; - internal const int DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; - internal const int DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; - internal const int DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; - internal const int DOT_PRODUCT_NV = 0x86EC; - internal const int DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; - internal const int DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; - internal const int DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; - internal const int DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; - internal const int DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; - internal const int DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; - internal const int DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; - internal const int DOUBLE = 0x140A; - internal const int DOUBLEBUFFER = 0x0C32; - internal const int DOUBLE_MAT2 = 0x8F46; - internal const int DOUBLE_MAT2_EXT = 0x8F46; - internal const int DOUBLE_MAT2x3 = 0x8F49; - internal const int DOUBLE_MAT2x3_EXT = 0x8F49; - internal const int DOUBLE_MAT2x4 = 0x8F4A; - internal const int DOUBLE_MAT2x4_EXT = 0x8F4A; - internal const int DOUBLE_MAT3 = 0x8F47; - internal const int DOUBLE_MAT3_EXT = 0x8F47; - internal const int DOUBLE_MAT3x2 = 0x8F4B; - internal const int DOUBLE_MAT3x2_EXT = 0x8F4B; - internal const int DOUBLE_MAT3x4 = 0x8F4C; - internal const int DOUBLE_MAT3x4_EXT = 0x8F4C; - internal const int DOUBLE_MAT4 = 0x8F48; - internal const int DOUBLE_MAT4_EXT = 0x8F48; - internal const int DOUBLE_MAT4x2 = 0x8F4D; - internal const int DOUBLE_MAT4x2_EXT = 0x8F4D; - internal const int DOUBLE_MAT4x3 = 0x8F4E; - internal const int DOUBLE_MAT4x3_EXT = 0x8F4E; - internal const int DOUBLE_VEC2 = 0x8FFC; - internal const int DOUBLE_VEC2_EXT = 0x8FFC; - internal const int DOUBLE_VEC3 = 0x8FFD; - internal const int DOUBLE_VEC3_EXT = 0x8FFD; - internal const int DOUBLE_VEC4 = 0x8FFE; - internal const int DOUBLE_VEC4_EXT = 0x8FFE; - internal const int DRAW_ARRAYS_COMMAND_NV = 0x0003; - internal const int DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; - internal const int DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; - internal const int DRAW_BUFFER = 0x0C01; - internal const int DRAW_BUFFER0 = 0x8825; - internal const int DRAW_BUFFER0_ARB = 0x8825; - internal const int DRAW_BUFFER0_ATI = 0x8825; - internal const int DRAW_BUFFER1 = 0x8826; - internal const int DRAW_BUFFER10 = 0x882F; - internal const int DRAW_BUFFER10_ARB = 0x882F; - internal const int DRAW_BUFFER10_ATI = 0x882F; - internal const int DRAW_BUFFER11 = 0x8830; - internal const int DRAW_BUFFER11_ARB = 0x8830; - internal const int DRAW_BUFFER11_ATI = 0x8830; - internal const int DRAW_BUFFER12 = 0x8831; - internal const int DRAW_BUFFER12_ARB = 0x8831; - internal const int DRAW_BUFFER12_ATI = 0x8831; - internal const int DRAW_BUFFER13 = 0x8832; - internal const int DRAW_BUFFER13_ARB = 0x8832; - internal const int DRAW_BUFFER13_ATI = 0x8832; - internal const int DRAW_BUFFER14 = 0x8833; - internal const int DRAW_BUFFER14_ARB = 0x8833; - internal const int DRAW_BUFFER14_ATI = 0x8833; - internal const int DRAW_BUFFER15 = 0x8834; - internal const int DRAW_BUFFER15_ARB = 0x8834; - internal const int DRAW_BUFFER15_ATI = 0x8834; - internal const int DRAW_BUFFER1_ARB = 0x8826; - internal const int DRAW_BUFFER1_ATI = 0x8826; - internal const int DRAW_BUFFER2 = 0x8827; - internal const int DRAW_BUFFER2_ARB = 0x8827; - internal const int DRAW_BUFFER2_ATI = 0x8827; - internal const int DRAW_BUFFER3 = 0x8828; - internal const int DRAW_BUFFER3_ARB = 0x8828; - internal const int DRAW_BUFFER3_ATI = 0x8828; - internal const int DRAW_BUFFER4 = 0x8829; - internal const int DRAW_BUFFER4_ARB = 0x8829; - internal const int DRAW_BUFFER4_ATI = 0x8829; - internal const int DRAW_BUFFER5 = 0x882A; - internal const int DRAW_BUFFER5_ARB = 0x882A; - internal const int DRAW_BUFFER5_ATI = 0x882A; - internal const int DRAW_BUFFER6 = 0x882B; - internal const int DRAW_BUFFER6_ARB = 0x882B; - internal const int DRAW_BUFFER6_ATI = 0x882B; - internal const int DRAW_BUFFER7 = 0x882C; - internal const int DRAW_BUFFER7_ARB = 0x882C; - internal const int DRAW_BUFFER7_ATI = 0x882C; - internal const int DRAW_BUFFER8 = 0x882D; - internal const int DRAW_BUFFER8_ARB = 0x882D; - internal const int DRAW_BUFFER8_ATI = 0x882D; - internal const int DRAW_BUFFER9 = 0x882E; - internal const int DRAW_BUFFER9_ARB = 0x882E; - internal const int DRAW_BUFFER9_ATI = 0x882E; - internal const int DRAW_ELEMENTS_COMMAND_NV = 0x0002; - internal const int DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; - internal const int DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; - internal const int DRAW_FRAMEBUFFER = 0x8CA9; - internal const int DRAW_FRAMEBUFFER_BINDING = 0x8CA6; - internal const int DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - internal const int DRAW_FRAMEBUFFER_EXT = 0x8CA9; - internal const int DRAW_INDIRECT_ADDRESS_NV = 0x8F41; - internal const int DRAW_INDIRECT_BUFFER = 0x8F3F; - internal const int DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; - internal const int DRAW_INDIRECT_LENGTH_NV = 0x8F42; - internal const int DRAW_INDIRECT_UNIFIED_NV = 0x8F40; - internal const int DRAW_PIXELS_APPLE = 0x8A0A; - internal const int DRIVER_UUID_EXT = 0x9598; - internal const int DSDT8_MAG8_INTENSITY8_NV = 0x870B; - internal const int DSDT8_MAG8_NV = 0x870A; - internal const int DSDT8_NV = 0x8709; - internal const int DSDT_MAG_INTENSITY_NV = 0x86DC; - internal const int DSDT_MAG_NV = 0x86F6; - internal const int DSDT_MAG_VIB_NV = 0x86F7; - internal const int DSDT_NV = 0x86F5; - internal const int DST_ALPHA = 0x0304; - internal const int DST_ATOP_NV = 0x928F; - internal const int DST_COLOR = 0x0306; - internal const int DST_IN_NV = 0x928B; - internal const int DST_NV = 0x9287; - internal const int DST_OUT_NV = 0x928D; - internal const int DST_OVER_NV = 0x9289; - internal const int DS_BIAS_NV = 0x8716; - internal const int DS_SCALE_NV = 0x8710; - internal const int DT_BIAS_NV = 0x8717; - internal const int DT_SCALE_NV = 0x8711; - internal const int DU8DV8_ATI = 0x877A; - internal const int DUAL_ALPHA12_SGIS = 0x8112; - internal const int DUAL_ALPHA16_SGIS = 0x8113; - internal const int DUAL_ALPHA4_SGIS = 0x8110; - internal const int DUAL_ALPHA8_SGIS = 0x8111; - internal const int DUAL_INTENSITY12_SGIS = 0x811A; - internal const int DUAL_INTENSITY16_SGIS = 0x811B; - internal const int DUAL_INTENSITY4_SGIS = 0x8118; - internal const int DUAL_INTENSITY8_SGIS = 0x8119; - internal const int DUAL_LUMINANCE12_SGIS = 0x8116; - internal const int DUAL_LUMINANCE16_SGIS = 0x8117; - internal const int DUAL_LUMINANCE4_SGIS = 0x8114; - internal const int DUAL_LUMINANCE8_SGIS = 0x8115; - internal const int DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; - internal const int DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; - internal const int DUAL_TEXTURE_SELECT_SGIS = 0x8124; - internal const int DUDV_ATI = 0x8779; - internal const int DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; - internal const int DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; - internal const int DYNAMIC_ATI = 0x8761; - internal const int DYNAMIC_COPY = 0x88EA; - internal const int DYNAMIC_COPY_ARB = 0x88EA; - internal const int DYNAMIC_DRAW = 0x88E8; - internal const int DYNAMIC_DRAW_ARB = 0x88E8; - internal const int DYNAMIC_READ = 0x88E9; - internal const int DYNAMIC_READ_ARB = 0x88E9; - internal const int DYNAMIC_STORAGE_BIT = 0x0100; - internal const int EDGEFLAG_BIT_PGI = 0x00040000; - internal const int EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; - internal const int EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; - internal const int EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; - internal const int EDGE_FLAG_ARRAY_EXT = 0x8079; - internal const int EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; - internal const int EDGE_FLAG_ARRAY_LIST_IBM = 103075; - internal const int EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; - internal const int EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; - internal const int EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; - internal const int EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; - internal const int EIGHTH_BIT_ATI = 0x00000020; - internal const int ELEMENT_ADDRESS_COMMAND_NV = 0x0008; - internal const int ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; - internal const int ELEMENT_ARRAY_APPLE = 0x8A0C; - internal const int ELEMENT_ARRAY_ATI = 0x8768; - internal const int ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; - internal const int ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; - internal const int ELEMENT_ARRAY_BUFFER = 0x8893; - internal const int ELEMENT_ARRAY_BUFFER_ARB = 0x8893; - internal const int ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; - internal const int ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; - internal const int ELEMENT_ARRAY_LENGTH_NV = 0x8F33; - internal const int ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; - internal const int ELEMENT_ARRAY_POINTER_ATI = 0x876A; - internal const int ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; - internal const int ELEMENT_ARRAY_TYPE_ATI = 0x8769; - internal const int ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; - internal const int EMBOSS_CONSTANT_NV = 0x855E; - internal const int EMBOSS_LIGHT_NV = 0x855D; - internal const int EMBOSS_MAP_NV = 0x855F; - internal const int EQUAL = 0x0202; - internal const int EQUIV = 0x1509; - internal const int EVAL_2D_NV = 0x86C0; - internal const int EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; - internal const int EVAL_TRIANGULAR_2D_NV = 0x86C1; - internal const int EVAL_VERTEX_ATTRIB0_NV = 0x86C6; - internal const int EVAL_VERTEX_ATTRIB10_NV = 0x86D0; - internal const int EVAL_VERTEX_ATTRIB11_NV = 0x86D1; - internal const int EVAL_VERTEX_ATTRIB12_NV = 0x86D2; - internal const int EVAL_VERTEX_ATTRIB13_NV = 0x86D3; - internal const int EVAL_VERTEX_ATTRIB14_NV = 0x86D4; - internal const int EVAL_VERTEX_ATTRIB15_NV = 0x86D5; - internal const int EVAL_VERTEX_ATTRIB1_NV = 0x86C7; - internal const int EVAL_VERTEX_ATTRIB2_NV = 0x86C8; - internal const int EVAL_VERTEX_ATTRIB3_NV = 0x86C9; - internal const int EVAL_VERTEX_ATTRIB4_NV = 0x86CA; - internal const int EVAL_VERTEX_ATTRIB5_NV = 0x86CB; - internal const int EVAL_VERTEX_ATTRIB6_NV = 0x86CC; - internal const int EVAL_VERTEX_ATTRIB7_NV = 0x86CD; - internal const int EVAL_VERTEX_ATTRIB8_NV = 0x86CE; - internal const int EVAL_VERTEX_ATTRIB9_NV = 0x86CF; - internal const int EXCLUSION_KHR = 0x92A0; - internal const int EXCLUSION_NV = 0x92A0; - internal const int EXCLUSIVE_EXT = 0x8F11; - internal const int EXPAND_NEGATE_NV = 0x8539; - internal const int EXPAND_NORMAL_NV = 0x8538; - internal const int EXTENSIONS = 0x1F03; - internal const int EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; - internal const int EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; - internal const int EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; - internal const int EYE_LINE_SGIS = 0x81F6; - internal const int EYE_PLANE = 0x2502; - internal const int EYE_PLANE_ABSOLUTE_NV = 0x855C; - internal const int EYE_POINT_SGIS = 0x81F4; - internal const int EYE_RADIAL_NV = 0x855B; - internal const int E_TIMES_F_NV = 0x8531; - internal const int FACTOR_MAX_AMD = 0x901D; - internal const int FACTOR_MIN_AMD = 0x901C; - internal const int FAILURE_NV = 0x9030; - internal const int FALSE = 0; - internal const int FASTEST = 0x1101; - internal const int FENCE_APPLE = 0x8A0B; - internal const int FENCE_CONDITION_NV = 0x84F4; - internal const int FENCE_STATUS_NV = 0x84F3; - internal const int FIELDS_NV = 0x8E27; - internal const int FIELD_LOWER_NV = 0x9023; - internal const int FIELD_UPPER_NV = 0x9022; - internal const int FILE_NAME_NV = 0x9074; - internal const int FILL = 0x1B02; - internal const int FILL_RECTANGLE_NV = 0x933C; - internal const int FILTER = 0x829A; - internal const int FILTER4_SGIS = 0x8146; - internal const int FIRST_TO_REST_NV = 0x90AF; - internal const int FIRST_VERTEX_CONVENTION = 0x8E4D; - internal const int FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; - internal const int FIXED = 0x140C; - internal const int FIXED_OES = 0x140C; - internal const int FIXED_ONLY = 0x891D; - internal const int FIXED_ONLY_ARB = 0x891D; - internal const int FLOAT = 0x1406; - internal const int FLOAT16_MAT2_AMD = 0x91C5; - internal const int FLOAT16_MAT2x3_AMD = 0x91C8; - internal const int FLOAT16_MAT2x4_AMD = 0x91C9; - internal const int FLOAT16_MAT3_AMD = 0x91C6; - internal const int FLOAT16_MAT3x2_AMD = 0x91CA; - internal const int FLOAT16_MAT3x4_AMD = 0x91CB; - internal const int FLOAT16_MAT4_AMD = 0x91C7; - internal const int FLOAT16_MAT4x2_AMD = 0x91CC; - internal const int FLOAT16_MAT4x3_AMD = 0x91CD; - internal const int FLOAT16_NV = 0x8FF8; - internal const int FLOAT16_VEC2_NV = 0x8FF9; - internal const int FLOAT16_VEC3_NV = 0x8FFA; - internal const int FLOAT16_VEC4_NV = 0x8FFB; - internal const int FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; - internal const int FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; - internal const int FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; - internal const int FLOAT_MAT2 = 0x8B5A; - internal const int FLOAT_MAT2_ARB = 0x8B5A; - internal const int FLOAT_MAT2x3 = 0x8B65; - internal const int FLOAT_MAT2x4 = 0x8B66; - internal const int FLOAT_MAT3 = 0x8B5B; - internal const int FLOAT_MAT3_ARB = 0x8B5B; - internal const int FLOAT_MAT3x2 = 0x8B67; - internal const int FLOAT_MAT3x4 = 0x8B68; - internal const int FLOAT_MAT4 = 0x8B5C; - internal const int FLOAT_MAT4_ARB = 0x8B5C; - internal const int FLOAT_MAT4x2 = 0x8B69; - internal const int FLOAT_MAT4x3 = 0x8B6A; - internal const int FLOAT_R16_NV = 0x8884; - internal const int FLOAT_R32_NV = 0x8885; - internal const int FLOAT_RG16_NV = 0x8886; - internal const int FLOAT_RG32_NV = 0x8887; - internal const int FLOAT_RGB16_NV = 0x8888; - internal const int FLOAT_RGB32_NV = 0x8889; - internal const int FLOAT_RGBA16_NV = 0x888A; - internal const int FLOAT_RGBA32_NV = 0x888B; - internal const int FLOAT_RGBA_MODE_NV = 0x888E; - internal const int FLOAT_RGBA_NV = 0x8883; - internal const int FLOAT_RGB_NV = 0x8882; - internal const int FLOAT_RG_NV = 0x8881; - internal const int FLOAT_R_NV = 0x8880; - internal const int FLOAT_VEC2 = 0x8B50; - internal const int FLOAT_VEC2_ARB = 0x8B50; - internal const int FLOAT_VEC3 = 0x8B51; - internal const int FLOAT_VEC3_ARB = 0x8B51; - internal const int FLOAT_VEC4 = 0x8B52; - internal const int FLOAT_VEC4_ARB = 0x8B52; - internal const int FOG = 0x0B60; - internal const int FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; - internal const int FOG_COORDINATE_ARRAY_EXT = 0x8457; - internal const int FOG_COORDINATE_ARRAY_LIST_IBM = 103076; - internal const int FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; - internal const int FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; - internal const int FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; - internal const int FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; - internal const int FOG_COORDINATE_EXT = 0x8451; - internal const int FOG_COORDINATE_SOURCE_EXT = 0x8450; - internal const int FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; - internal const int FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; - internal const int FOG_DISTANCE_MODE_NV = 0x855A; - internal const int FOG_FUNC_POINTS_SGIS = 0x812B; - internal const int FOG_FUNC_SGIS = 0x812A; - internal const int FOG_OFFSET_SGIX = 0x8198; - internal const int FOG_OFFSET_VALUE_SGIX = 0x8199; - internal const int FOG_SPECULAR_TEXTURE_WIN = 0x80EC; - internal const int FONT_ASCENDER_BIT_NV = 0x00200000; - internal const int FONT_DESCENDER_BIT_NV = 0x00400000; - internal const int FONT_GLYPHS_AVAILABLE_NV = 0x9368; - internal const int FONT_HAS_KERNING_BIT_NV = 0x10000000; - internal const int FONT_HEIGHT_BIT_NV = 0x00800000; - internal const int FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; - internal const int FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; - internal const int FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; - internal const int FONT_TARGET_UNAVAILABLE_NV = 0x9369; - internal const int FONT_UNAVAILABLE_NV = 0x936A; - internal const int FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; - internal const int FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; - internal const int FONT_UNINTELLIGIBLE_NV = 0x936B; - internal const int FONT_UNITS_PER_EM_BIT_NV = 0x00100000; - internal const int FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; - internal const int FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; - internal const int FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; - internal const int FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; - internal const int FORCE_BLUE_TO_ONE_NV = 0x8860; - internal const int FORMAT_SUBSAMPLE_244_244_OML = 0x8983; - internal const int FORMAT_SUBSAMPLE_24_24_OML = 0x8982; - internal const int FRACTIONAL_EVEN = 0x8E7C; - internal const int FRACTIONAL_ODD = 0x8E7B; - internal const int FRAGMENT_COLOR_EXT = 0x834C; - internal const int FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; - internal const int FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; - internal const int FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; - internal const int FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; - internal const int FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; - internal const int FRAGMENT_DEPTH_EXT = 0x8452; - internal const int FRAGMENT_INPUT_NV = 0x936D; - internal const int FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; - internal const int FRAGMENT_LIGHT0_SGIX = 0x840C; - internal const int FRAGMENT_LIGHT1_SGIX = 0x840D; - internal const int FRAGMENT_LIGHT2_SGIX = 0x840E; - internal const int FRAGMENT_LIGHT3_SGIX = 0x840F; - internal const int FRAGMENT_LIGHT4_SGIX = 0x8410; - internal const int FRAGMENT_LIGHT5_SGIX = 0x8411; - internal const int FRAGMENT_LIGHT6_SGIX = 0x8412; - internal const int FRAGMENT_LIGHT7_SGIX = 0x8413; - internal const int FRAGMENT_LIGHTING_SGIX = 0x8400; - internal const int FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; - internal const int FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; - internal const int FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; - internal const int FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; - internal const int FRAGMENT_MATERIAL_EXT = 0x8349; - internal const int FRAGMENT_NORMAL_EXT = 0x834A; - internal const int FRAGMENT_PROGRAM_ARB = 0x8804; - internal const int FRAGMENT_PROGRAM_BINDING_NV = 0x8873; - internal const int FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; - internal const int FRAGMENT_PROGRAM_NV = 0x8870; - internal const int FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; - internal const int FRAGMENT_SHADER = 0x8B30; - internal const int FRAGMENT_SHADER_ARB = 0x8B30; - internal const int FRAGMENT_SHADER_ATI = 0x8920; - internal const int FRAGMENT_SHADER_BIT = 0x00000002; - internal const int FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; - internal const int FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; - internal const int FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; - internal const int FRAGMENT_SHADER_INVOCATIONS = 0x82F4; - internal const int FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; - internal const int FRAGMENT_SUBROUTINE = 0x92EC; - internal const int FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; - internal const int FRAGMENT_TEXTURE = 0x829F; - internal const int FRAMEBUFFER = 0x8D40; - internal const int FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; - internal const int FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; - internal const int FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; - internal const int FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; - internal const int FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; - internal const int FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; - internal const int FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; - internal const int FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; - internal const int FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; - internal const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; - internal const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; - internal const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; - internal const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; - internal const int FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; - internal const int FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; - internal const int FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; - internal const int FRAMEBUFFER_BARRIER_BIT = 0x00000400; - internal const int FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; - internal const int FRAMEBUFFER_BINDING = 0x8CA6; - internal const int FRAMEBUFFER_BINDING_EXT = 0x8CA6; - internal const int FRAMEBUFFER_BLEND = 0x828B; - internal const int FRAMEBUFFER_COMPLETE = 0x8CD5; - internal const int FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; - internal const int FRAMEBUFFER_DEFAULT = 0x8218; - internal const int FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; - internal const int FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; - internal const int FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; - internal const int FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; - internal const int FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; - internal const int FRAMEBUFFER_EXT = 0x8D40; - internal const int FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; - internal const int FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; - internal const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; - internal const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; - internal const int FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; - internal const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; - internal const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; - internal const int FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; - internal const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; - internal const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; - internal const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; - internal const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; - internal const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; - internal const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; - internal const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; - internal const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; - internal const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; - internal const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; - internal const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; - internal const int FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; - internal const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; - internal const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; - internal const int FRAMEBUFFER_RENDERABLE = 0x8289; - internal const int FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; - internal const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; - internal const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; - internal const int FRAMEBUFFER_SRGB = 0x8DB9; - internal const int FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; - internal const int FRAMEBUFFER_SRGB_EXT = 0x8DB9; - internal const int FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; - internal const int FRAMEBUFFER_UNDEFINED = 0x8219; - internal const int FRAMEBUFFER_UNSUPPORTED = 0x8CDD; - internal const int FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; - internal const int FRAMEZOOM_FACTOR_SGIX = 0x818C; - internal const int FRAMEZOOM_SGIX = 0x818B; - internal const int FRAME_NV = 0x8E26; - internal const int FRONT = 0x0404; - internal const int FRONT_AND_BACK = 0x0408; - internal const int FRONT_FACE = 0x0B46; - internal const int FRONT_FACE_COMMAND_NV = 0x0012; - internal const int FRONT_LEFT = 0x0400; - internal const int FRONT_RIGHT = 0x0401; - internal const int FULL_RANGE_EXT = 0x87E1; - internal const int FULL_STIPPLE_HINT_PGI = 0x1A219; - internal const int FULL_SUPPORT = 0x82B7; - internal const int FUNC_ADD = 0x8006; - internal const int FUNC_ADD_EXT = 0x8006; - internal const int FUNC_REVERSE_SUBTRACT = 0x800B; - internal const int FUNC_REVERSE_SUBTRACT_EXT = 0x800B; - internal const int FUNC_SUBTRACT = 0x800A; - internal const int FUNC_SUBTRACT_EXT = 0x800A; - internal const int GENERATE_MIPMAP_HINT_SGIS = 0x8192; - internal const int GENERATE_MIPMAP_SGIS = 0x8191; - internal const int GENERIC_ATTRIB_NV = 0x8C7D; - internal const int GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; - internal const int GEOMETRY_DEFORMATION_SGIX = 0x8194; - internal const int GEOMETRY_INPUT_TYPE = 0x8917; - internal const int GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; - internal const int GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; - internal const int GEOMETRY_OUTPUT_TYPE = 0x8918; - internal const int GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; - internal const int GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; - internal const int GEOMETRY_PROGRAM_NV = 0x8C26; - internal const int GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; - internal const int GEOMETRY_SHADER = 0x8DD9; - internal const int GEOMETRY_SHADER_ARB = 0x8DD9; - internal const int GEOMETRY_SHADER_BIT = 0x00000004; - internal const int GEOMETRY_SHADER_EXT = 0x8DD9; - internal const int GEOMETRY_SHADER_INVOCATIONS = 0x887F; - internal const int GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3; - internal const int GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; - internal const int GEOMETRY_SUBROUTINE = 0x92EB; - internal const int GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; - internal const int GEOMETRY_TEXTURE = 0x829E; - internal const int GEOMETRY_VERTICES_OUT = 0x8916; - internal const int GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; - internal const int GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; - internal const int GEQUAL = 0x0206; - internal const int GET_TEXTURE_IMAGE_FORMAT = 0x8291; - internal const int GET_TEXTURE_IMAGE_TYPE = 0x8292; - internal const int GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; - internal const int GLOBAL_ALPHA_SUN = 0x81D9; - internal const int GLYPH_HAS_KERNING_BIT_NV = 0x100; - internal const int GLYPH_HEIGHT_BIT_NV = 0x02; - internal const int GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; - internal const int GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; - internal const int GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; - internal const int GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; - internal const int GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; - internal const int GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; - internal const int GLYPH_WIDTH_BIT_NV = 0x01; - internal const int GPU_ADDRESS_NV = 0x8F34; - internal const int GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; - internal const int GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; - internal const int GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; - internal const int GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; - internal const int GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; - internal const int GREATER = 0x0204; - internal const int GREEN = 0x1904; - internal const int GREEN_BIT_ATI = 0x00000002; - internal const int GREEN_INTEGER = 0x8D95; - internal const int GREEN_INTEGER_EXT = 0x8D95; - internal const int GREEN_MAX_CLAMP_INGR = 0x8565; - internal const int GREEN_MIN_CLAMP_INGR = 0x8561; - internal const int GREEN_NV = 0x1904; - internal const int GUILTY_CONTEXT_RESET = 0x8253; - internal const int GUILTY_CONTEXT_RESET_ARB = 0x8253; - internal const int HALF_APPLE = 0x140B; - internal const int HALF_BIAS_NEGATE_NV = 0x853B; - internal const int HALF_BIAS_NORMAL_NV = 0x853A; - internal const int HALF_BIT_ATI = 0x00000008; - internal const int HALF_FLOAT = 0x140B; - internal const int HALF_FLOAT_ARB = 0x140B; - internal const int HALF_FLOAT_NV = 0x140B; - internal const int HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; - internal const int HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; - internal const int HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; - internal const int HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; - internal const int HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; - internal const int HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; - internal const int HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; - internal const int HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; - internal const int HARDLIGHT_KHR = 0x929B; - internal const int HARDLIGHT_NV = 0x929B; - internal const int HARDMIX_NV = 0x92A9; - internal const int HIGH_FLOAT = 0x8DF2; - internal const int HIGH_INT = 0x8DF5; - internal const int HILO16_NV = 0x86F8; - internal const int HILO8_NV = 0x885E; - internal const int HILO_NV = 0x86F4; - internal const int HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; - internal const int HISTOGRAM_BLUE_SIZE_EXT = 0x802A; - internal const int HISTOGRAM_EXT = 0x8024; - internal const int HISTOGRAM_FORMAT_EXT = 0x8027; - internal const int HISTOGRAM_GREEN_SIZE_EXT = 0x8029; - internal const int HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; - internal const int HISTOGRAM_RED_SIZE_EXT = 0x8028; - internal const int HISTOGRAM_SINK_EXT = 0x802D; - internal const int HISTOGRAM_WIDTH_EXT = 0x8026; - internal const int HI_BIAS_NV = 0x8714; - internal const int HI_SCALE_NV = 0x870E; - internal const int HORIZONTAL_LINE_TO_NV = 0x06; - internal const int HSL_COLOR_KHR = 0x92AF; - internal const int HSL_COLOR_NV = 0x92AF; - internal const int HSL_HUE_KHR = 0x92AD; - internal const int HSL_HUE_NV = 0x92AD; - internal const int HSL_LUMINOSITY_KHR = 0x92B0; - internal const int HSL_LUMINOSITY_NV = 0x92B0; - internal const int HSL_SATURATION_KHR = 0x92AE; - internal const int HSL_SATURATION_NV = 0x92AE; - internal const int IDENTITY_NV = 0x862A; - internal const int IGNORE_BORDER_HP = 0x8150; - internal const int IMAGE_1D = 0x904C; - internal const int IMAGE_1D_ARRAY = 0x9052; - internal const int IMAGE_1D_ARRAY_EXT = 0x9052; - internal const int IMAGE_1D_EXT = 0x904C; - internal const int IMAGE_2D = 0x904D; - internal const int IMAGE_2D_ARRAY = 0x9053; - internal const int IMAGE_2D_ARRAY_EXT = 0x9053; - internal const int IMAGE_2D_EXT = 0x904D; - internal const int IMAGE_2D_MULTISAMPLE = 0x9055; - internal const int IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; - internal const int IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; - internal const int IMAGE_2D_MULTISAMPLE_EXT = 0x9055; - internal const int IMAGE_2D_RECT = 0x904F; - internal const int IMAGE_2D_RECT_EXT = 0x904F; - internal const int IMAGE_3D = 0x904E; - internal const int IMAGE_3D_EXT = 0x904E; - internal const int IMAGE_BINDING_ACCESS = 0x8F3E; - internal const int IMAGE_BINDING_ACCESS_EXT = 0x8F3E; - internal const int IMAGE_BINDING_FORMAT = 0x906E; - internal const int IMAGE_BINDING_FORMAT_EXT = 0x906E; - internal const int IMAGE_BINDING_LAYER = 0x8F3D; - internal const int IMAGE_BINDING_LAYERED = 0x8F3C; - internal const int IMAGE_BINDING_LAYERED_EXT = 0x8F3C; - internal const int IMAGE_BINDING_LAYER_EXT = 0x8F3D; - internal const int IMAGE_BINDING_LEVEL = 0x8F3B; - internal const int IMAGE_BINDING_LEVEL_EXT = 0x8F3B; - internal const int IMAGE_BINDING_NAME = 0x8F3A; - internal const int IMAGE_BINDING_NAME_EXT = 0x8F3A; - internal const int IMAGE_BUFFER = 0x9051; - internal const int IMAGE_BUFFER_EXT = 0x9051; - internal const int IMAGE_CLASS_10_10_10_2 = 0x82C3; - internal const int IMAGE_CLASS_11_11_10 = 0x82C2; - internal const int IMAGE_CLASS_1_X_16 = 0x82BE; - internal const int IMAGE_CLASS_1_X_32 = 0x82BB; - internal const int IMAGE_CLASS_1_X_8 = 0x82C1; - internal const int IMAGE_CLASS_2_X_16 = 0x82BD; - internal const int IMAGE_CLASS_2_X_32 = 0x82BA; - internal const int IMAGE_CLASS_2_X_8 = 0x82C0; - internal const int IMAGE_CLASS_4_X_16 = 0x82BC; - internal const int IMAGE_CLASS_4_X_32 = 0x82B9; - internal const int IMAGE_CLASS_4_X_8 = 0x82BF; - internal const int IMAGE_COMPATIBILITY_CLASS = 0x82A8; - internal const int IMAGE_CUBE = 0x9050; - internal const int IMAGE_CUBE_EXT = 0x9050; - internal const int IMAGE_CUBE_MAP_ARRAY = 0x9054; - internal const int IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; - internal const int IMAGE_CUBIC_WEIGHT_HP = 0x815E; - internal const int IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; - internal const int IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; - internal const int IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; - internal const int IMAGE_MAG_FILTER_HP = 0x815C; - internal const int IMAGE_MIN_FILTER_HP = 0x815D; - internal const int IMAGE_PIXEL_FORMAT = 0x82A9; - internal const int IMAGE_PIXEL_TYPE = 0x82AA; - internal const int IMAGE_ROTATE_ANGLE_HP = 0x8159; - internal const int IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; - internal const int IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; - internal const int IMAGE_SCALE_X_HP = 0x8155; - internal const int IMAGE_SCALE_Y_HP = 0x8156; - internal const int IMAGE_TEXEL_SIZE = 0x82A7; - internal const int IMAGE_TRANSFORM_2D_HP = 0x8161; - internal const int IMAGE_TRANSLATE_X_HP = 0x8157; - internal const int IMAGE_TRANSLATE_Y_HP = 0x8158; - internal const int IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; - internal const int IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; - internal const int IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; - internal const int IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; - internal const int INCLUSIVE_EXT = 0x8F10; - internal const int INCR = 0x1E02; - internal const int INCR_WRAP = 0x8507; - internal const int INCR_WRAP_EXT = 0x8507; - internal const int INDEX_ARRAY_ADDRESS_NV = 0x8F24; - internal const int INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; - internal const int INDEX_ARRAY_COUNT_EXT = 0x8087; - internal const int INDEX_ARRAY_EXT = 0x8077; - internal const int INDEX_ARRAY_LENGTH_NV = 0x8F2E; - internal const int INDEX_ARRAY_LIST_IBM = 103073; - internal const int INDEX_ARRAY_LIST_STRIDE_IBM = 103083; - internal const int INDEX_ARRAY_POINTER_EXT = 0x8091; - internal const int INDEX_ARRAY_STRIDE_EXT = 0x8086; - internal const int INDEX_ARRAY_TYPE_EXT = 0x8085; - internal const int INDEX_BIT_PGI = 0x00080000; - internal const int INDEX_MATERIAL_EXT = 0x81B8; - internal const int INDEX_MATERIAL_FACE_EXT = 0x81BA; - internal const int INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; - internal const int INDEX_TEST_EXT = 0x81B5; - internal const int INDEX_TEST_FUNC_EXT = 0x81B6; - internal const int INDEX_TEST_REF_EXT = 0x81B7; - internal const int INFO_LOG_LENGTH = 0x8B84; - internal const int INNOCENT_CONTEXT_RESET = 0x8254; - internal const int INNOCENT_CONTEXT_RESET_ARB = 0x8254; - internal const int INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; - internal const int INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; - internal const int INT = 0x1404; - internal const int INT16_NV = 0x8FE4; - internal const int INT16_VEC2_NV = 0x8FE5; - internal const int INT16_VEC3_NV = 0x8FE6; - internal const int INT16_VEC4_NV = 0x8FE7; - internal const int INT64_ARB = 0x140E; - internal const int INT64_NV = 0x140E; - internal const int INT64_VEC2_ARB = 0x8FE9; - internal const int INT64_VEC2_NV = 0x8FE9; - internal const int INT64_VEC3_ARB = 0x8FEA; - internal const int INT64_VEC3_NV = 0x8FEA; - internal const int INT64_VEC4_ARB = 0x8FEB; - internal const int INT64_VEC4_NV = 0x8FEB; - internal const int INT8_NV = 0x8FE0; - internal const int INT8_VEC2_NV = 0x8FE1; - internal const int INT8_VEC3_NV = 0x8FE2; - internal const int INT8_VEC4_NV = 0x8FE3; - internal const int INTENSITY12_EXT = 0x804C; - internal const int INTENSITY16F_ARB = 0x881D; - internal const int INTENSITY16I_EXT = 0x8D8B; - internal const int INTENSITY16UI_EXT = 0x8D79; - internal const int INTENSITY16_EXT = 0x804D; - internal const int INTENSITY16_SNORM = 0x901B; - internal const int INTENSITY32F_ARB = 0x8817; - internal const int INTENSITY32I_EXT = 0x8D85; - internal const int INTENSITY32UI_EXT = 0x8D73; - internal const int INTENSITY4_EXT = 0x804A; - internal const int INTENSITY8I_EXT = 0x8D91; - internal const int INTENSITY8UI_EXT = 0x8D7F; - internal const int INTENSITY8_EXT = 0x804B; - internal const int INTENSITY8_SNORM = 0x9017; - internal const int INTENSITY_EXT = 0x8049; - internal const int INTENSITY_FLOAT16_APPLE = 0x881D; - internal const int INTENSITY_FLOAT16_ATI = 0x881D; - internal const int INTENSITY_FLOAT32_APPLE = 0x8817; - internal const int INTENSITY_FLOAT32_ATI = 0x8817; - internal const int INTENSITY_SNORM = 0x9013; - internal const int INTERLACE_OML = 0x8980; - internal const int INTERLACE_READ_INGR = 0x8568; - internal const int INTERLACE_READ_OML = 0x8981; - internal const int INTERLACE_SGIX = 0x8094; - internal const int INTERLEAVED_ATTRIBS = 0x8C8C; - internal const int INTERLEAVED_ATTRIBS_EXT = 0x8C8C; - internal const int INTERLEAVED_ATTRIBS_NV = 0x8C8C; - internal const int INTERNALFORMAT_ALPHA_SIZE = 0x8274; - internal const int INTERNALFORMAT_ALPHA_TYPE = 0x827B; - internal const int INTERNALFORMAT_BLUE_SIZE = 0x8273; - internal const int INTERNALFORMAT_BLUE_TYPE = 0x827A; - internal const int INTERNALFORMAT_DEPTH_SIZE = 0x8275; - internal const int INTERNALFORMAT_DEPTH_TYPE = 0x827C; - internal const int INTERNALFORMAT_GREEN_SIZE = 0x8272; - internal const int INTERNALFORMAT_GREEN_TYPE = 0x8279; - internal const int INTERNALFORMAT_PREFERRED = 0x8270; - internal const int INTERNALFORMAT_RED_SIZE = 0x8271; - internal const int INTERNALFORMAT_RED_TYPE = 0x8278; - internal const int INTERNALFORMAT_SHARED_SIZE = 0x8277; - internal const int INTERNALFORMAT_STENCIL_SIZE = 0x8276; - internal const int INTERNALFORMAT_STENCIL_TYPE = 0x827D; - internal const int INTERNALFORMAT_SUPPORTED = 0x826F; - internal const int INTERPOLATE_ARB = 0x8575; - internal const int INTERPOLATE_EXT = 0x8575; - internal const int INT_2_10_10_10_REV = 0x8D9F; - internal const int INT_IMAGE_1D = 0x9057; - internal const int INT_IMAGE_1D_ARRAY = 0x905D; - internal const int INT_IMAGE_1D_ARRAY_EXT = 0x905D; - internal const int INT_IMAGE_1D_EXT = 0x9057; - internal const int INT_IMAGE_2D = 0x9058; - internal const int INT_IMAGE_2D_ARRAY = 0x905E; - internal const int INT_IMAGE_2D_ARRAY_EXT = 0x905E; - internal const int INT_IMAGE_2D_EXT = 0x9058; - internal const int INT_IMAGE_2D_MULTISAMPLE = 0x9060; - internal const int INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; - internal const int INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; - internal const int INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; - internal const int INT_IMAGE_2D_RECT = 0x905A; - internal const int INT_IMAGE_2D_RECT_EXT = 0x905A; - internal const int INT_IMAGE_3D = 0x9059; - internal const int INT_IMAGE_3D_EXT = 0x9059; - internal const int INT_IMAGE_BUFFER = 0x905C; - internal const int INT_IMAGE_BUFFER_EXT = 0x905C; - internal const int INT_IMAGE_CUBE = 0x905B; - internal const int INT_IMAGE_CUBE_EXT = 0x905B; - internal const int INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; - internal const int INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; - internal const int INT_SAMPLER_1D = 0x8DC9; - internal const int INT_SAMPLER_1D_ARRAY = 0x8DCE; - internal const int INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; - internal const int INT_SAMPLER_1D_EXT = 0x8DC9; - internal const int INT_SAMPLER_2D = 0x8DCA; - internal const int INT_SAMPLER_2D_ARRAY = 0x8DCF; - internal const int INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; - internal const int INT_SAMPLER_2D_EXT = 0x8DCA; - internal const int INT_SAMPLER_2D_MULTISAMPLE = 0x9109; - internal const int INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; - internal const int INT_SAMPLER_2D_RECT = 0x8DCD; - internal const int INT_SAMPLER_2D_RECT_EXT = 0x8DCD; - internal const int INT_SAMPLER_3D = 0x8DCB; - internal const int INT_SAMPLER_3D_EXT = 0x8DCB; - internal const int INT_SAMPLER_BUFFER = 0x8DD0; - internal const int INT_SAMPLER_BUFFER_AMD = 0x9002; - internal const int INT_SAMPLER_BUFFER_EXT = 0x8DD0; - internal const int INT_SAMPLER_CUBE = 0x8DCC; - internal const int INT_SAMPLER_CUBE_EXT = 0x8DCC; - internal const int INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; - internal const int INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; - internal const int INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; - internal const int INT_VEC2 = 0x8B53; - internal const int INT_VEC2_ARB = 0x8B53; - internal const int INT_VEC3 = 0x8B54; - internal const int INT_VEC3_ARB = 0x8B54; - internal const int INT_VEC4 = 0x8B55; - internal const int INT_VEC4_ARB = 0x8B55; - internal const int INVALID_ENUM = 0x0500; - internal const int INVALID_FRAMEBUFFER_OPERATION = 0x0506; - internal const int INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; - internal const uint INVALID_INDEX = 0xFFFFFFFF; - internal const int INVALID_OPERATION = 0x0502; - internal const int INVALID_VALUE = 0x0501; - internal const int INVARIANT_DATATYPE_EXT = 0x87EB; - internal const int INVARIANT_EXT = 0x87C2; - internal const int INVARIANT_VALUE_EXT = 0x87EA; - internal const int INVERSE_NV = 0x862B; - internal const int INVERSE_TRANSPOSE_NV = 0x862D; - internal const int INVERT = 0x150A; - internal const int INVERTED_SCREEN_W_REND = 0x8491; - internal const int INVERT_OVG_NV = 0x92B4; - internal const int INVERT_RGB_NV = 0x92A3; - internal const int IR_INSTRUMENT1_SGIX = 0x817F; - internal const int ISOLINES = 0x8E7A; - internal const int IS_PER_PATCH = 0x92E7; - internal const int IS_ROW_MAJOR = 0x9300; - internal const int ITALIC_BIT_NV = 0x02; - internal const int IUI_N3F_V2F_EXT = 0x81AF; - internal const int IUI_N3F_V3F_EXT = 0x81B0; - internal const int IUI_V2F_EXT = 0x81AD; - internal const int IUI_V3F_EXT = 0x81AE; - internal const int KEEP = 0x1E00; - internal const int LARGE_CCW_ARC_TO_NV = 0x16; - internal const int LARGE_CW_ARC_TO_NV = 0x18; - internal const int LAST_VERTEX_CONVENTION = 0x8E4E; - internal const int LAST_VERTEX_CONVENTION_EXT = 0x8E4E; - internal const int LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; - internal const int LAYER_NV = 0x8DAA; - internal const int LAYER_PROVOKING_VERTEX = 0x825E; - internal const int LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; - internal const int LAYOUT_DEFAULT_INTEL = 0; - internal const int LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; - internal const int LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; - internal const int LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; - internal const int LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; - internal const int LAYOUT_GENERAL_EXT = 0x958D; - internal const int LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; - internal const int LAYOUT_LINEAR_INTEL = 1; - internal const int LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; - internal const int LAYOUT_TRANSFER_DST_EXT = 0x9593; - internal const int LAYOUT_TRANSFER_SRC_EXT = 0x9592; - internal const int LEFT = 0x0406; - internal const int LEQUAL = 0x0203; - internal const int LERP_ATI = 0x8969; - internal const int LESS = 0x0201; - internal const int LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; - internal const int LIGHTEN_KHR = 0x9298; - internal const int LIGHTEN_NV = 0x9298; - internal const int LIGHT_ENV_MODE_SGIX = 0x8407; - internal const int LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; - internal const int LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; - internal const int LINE = 0x1B01; - internal const int LINEAR = 0x2601; - internal const int LINEARBURN_NV = 0x92A5; - internal const int LINEARDODGE_NV = 0x92A4; - internal const int LINEARLIGHT_NV = 0x92A7; - internal const int LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; - internal const int LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; - internal const int LINEAR_DETAIL_ALPHA_SGIS = 0x8098; - internal const int LINEAR_DETAIL_COLOR_SGIS = 0x8099; - internal const int LINEAR_DETAIL_SGIS = 0x8097; - internal const int LINEAR_MIPMAP_LINEAR = 0x2703; - internal const int LINEAR_MIPMAP_NEAREST = 0x2701; - internal const int LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; - internal const int LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; - internal const int LINEAR_SHARPEN_SGIS = 0x80AD; - internal const int LINEAR_TILING_EXT = 0x9585; - internal const int LINES = 0x0001; - internal const int LINES_ADJACENCY = 0x000A; - internal const int LINES_ADJACENCY_ARB = 0x000A; - internal const int LINES_ADJACENCY_EXT = 0x000A; - internal const int LINE_LOOP = 0x0002; - internal const int LINE_SMOOTH = 0x0B20; - internal const int LINE_SMOOTH_HINT = 0x0C52; - internal const int LINE_STRIP = 0x0003; - internal const int LINE_STRIP_ADJACENCY = 0x000B; - internal const int LINE_STRIP_ADJACENCY_ARB = 0x000B; - internal const int LINE_STRIP_ADJACENCY_EXT = 0x000B; - internal const int LINE_TO_NV = 0x04; - internal const int LINE_WIDTH = 0x0B21; - internal const int LINE_WIDTH_COMMAND_NV = 0x000D; - internal const int LINE_WIDTH_GRANULARITY = 0x0B23; - internal const int LINE_WIDTH_RANGE = 0x0B22; - internal const int LINK_STATUS = 0x8B82; - internal const int LIST_PRIORITY_SGIX = 0x8182; - internal const int LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; - internal const int LOCAL_CONSTANT_EXT = 0x87C3; - internal const int LOCAL_CONSTANT_VALUE_EXT = 0x87EC; - internal const int LOCAL_EXT = 0x87C4; - internal const int LOCATION = 0x930E; - internal const int LOCATION_COMPONENT = 0x934A; - internal const int LOCATION_INDEX = 0x930F; - internal const int LOGIC_OP_MODE = 0x0BF0; - internal const int LOSE_CONTEXT_ON_RESET = 0x8252; - internal const int LOSE_CONTEXT_ON_RESET_ARB = 0x8252; - internal const int LOWER_LEFT = 0x8CA1; - internal const int LOW_FLOAT = 0x8DF0; - internal const int LOW_INT = 0x8DF3; - internal const int LO_BIAS_NV = 0x8715; - internal const int LO_SCALE_NV = 0x870F; - internal const int LUID_SIZE_EXT = 8; - internal const int LUMINANCE12_ALPHA12_EXT = 0x8047; - internal const int LUMINANCE12_ALPHA4_EXT = 0x8046; - internal const int LUMINANCE12_EXT = 0x8041; - internal const int LUMINANCE16F_ARB = 0x881E; - internal const int LUMINANCE16F_EXT = 0x881E; - internal const int LUMINANCE16I_EXT = 0x8D8C; - internal const int LUMINANCE16UI_EXT = 0x8D7A; - internal const int LUMINANCE16_ALPHA16_EXT = 0x8048; - internal const int LUMINANCE16_ALPHA16_SNORM = 0x901A; - internal const int LUMINANCE16_EXT = 0x8042; - internal const int LUMINANCE16_SNORM = 0x9019; - internal const int LUMINANCE32F_ARB = 0x8818; - internal const int LUMINANCE32F_EXT = 0x8818; - internal const int LUMINANCE32I_EXT = 0x8D86; - internal const int LUMINANCE32UI_EXT = 0x8D74; - internal const int LUMINANCE4_ALPHA4_EXT = 0x8043; - internal const int LUMINANCE4_EXT = 0x803F; - internal const int LUMINANCE6_ALPHA2_EXT = 0x8044; - internal const int LUMINANCE8I_EXT = 0x8D92; - internal const int LUMINANCE8UI_EXT = 0x8D80; - internal const int LUMINANCE8_ALPHA8_EXT = 0x8045; - internal const int LUMINANCE8_ALPHA8_SNORM = 0x9016; - internal const int LUMINANCE8_EXT = 0x8040; - internal const int LUMINANCE8_SNORM = 0x9015; - internal const int LUMINANCE_ALPHA16F_ARB = 0x881F; - internal const int LUMINANCE_ALPHA16F_EXT = 0x881F; - internal const int LUMINANCE_ALPHA16I_EXT = 0x8D8D; - internal const int LUMINANCE_ALPHA16UI_EXT = 0x8D7B; - internal const int LUMINANCE_ALPHA32F_ARB = 0x8819; - internal const int LUMINANCE_ALPHA32F_EXT = 0x8819; - internal const int LUMINANCE_ALPHA32I_EXT = 0x8D87; - internal const int LUMINANCE_ALPHA32UI_EXT = 0x8D75; - internal const int LUMINANCE_ALPHA8I_EXT = 0x8D93; - internal const int LUMINANCE_ALPHA8UI_EXT = 0x8D81; - internal const int LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; - internal const int LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; - internal const int LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; - internal const int LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; - internal const int LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; - internal const int LUMINANCE_ALPHA_SNORM = 0x9012; - internal const int LUMINANCE_FLOAT16_APPLE = 0x881E; - internal const int LUMINANCE_FLOAT16_ATI = 0x881E; - internal const int LUMINANCE_FLOAT32_APPLE = 0x8818; - internal const int LUMINANCE_FLOAT32_ATI = 0x8818; - internal const int LUMINANCE_INTEGER_EXT = 0x8D9C; - internal const int LUMINANCE_SNORM = 0x9011; - internal const int MAD_ATI = 0x8968; - internal const int MAGNITUDE_BIAS_NV = 0x8718; - internal const int MAGNITUDE_SCALE_NV = 0x8712; - internal const int MAJOR_VERSION = 0x821B; - internal const int MANUAL_GENERATE_MIPMAP = 0x8294; - internal const int MAP1_BINORMAL_EXT = 0x8446; - internal const int MAP1_TANGENT_EXT = 0x8444; - internal const int MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; - internal const int MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; - internal const int MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; - internal const int MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; - internal const int MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; - internal const int MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; - internal const int MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; - internal const int MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; - internal const int MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; - internal const int MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; - internal const int MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; - internal const int MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; - internal const int MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; - internal const int MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; - internal const int MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; - internal const int MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; - internal const int MAP2_BINORMAL_EXT = 0x8447; - internal const int MAP2_TANGENT_EXT = 0x8445; - internal const int MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; - internal const int MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; - internal const int MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; - internal const int MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; - internal const int MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; - internal const int MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; - internal const int MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; - internal const int MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; - internal const int MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; - internal const int MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; - internal const int MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; - internal const int MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; - internal const int MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; - internal const int MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; - internal const int MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; - internal const int MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; - internal const int MAP_ATTRIB_U_ORDER_NV = 0x86C3; - internal const int MAP_ATTRIB_V_ORDER_NV = 0x86C4; - internal const int MAP_COHERENT_BIT = 0x0080; - internal const int MAP_FLUSH_EXPLICIT_BIT = 0x0010; - internal const int MAP_INVALIDATE_BUFFER_BIT = 0x0008; - internal const int MAP_INVALIDATE_RANGE_BIT = 0x0004; - internal const int MAP_PERSISTENT_BIT = 0x0040; - internal const int MAP_READ_BIT = 0x0001; - internal const int MAP_TESSELLATION_NV = 0x86C2; - internal const int MAP_UNSYNCHRONIZED_BIT = 0x0020; - internal const int MAP_WRITE_BIT = 0x0002; - internal const int MATERIAL_SIDE_HINT_PGI = 0x1A22C; - internal const int MATRIX0_ARB = 0x88C0; - internal const int MATRIX0_NV = 0x8630; - internal const int MATRIX10_ARB = 0x88CA; - internal const int MATRIX11_ARB = 0x88CB; - internal const int MATRIX12_ARB = 0x88CC; - internal const int MATRIX13_ARB = 0x88CD; - internal const int MATRIX14_ARB = 0x88CE; - internal const int MATRIX15_ARB = 0x88CF; - internal const int MATRIX16_ARB = 0x88D0; - internal const int MATRIX17_ARB = 0x88D1; - internal const int MATRIX18_ARB = 0x88D2; - internal const int MATRIX19_ARB = 0x88D3; - internal const int MATRIX1_ARB = 0x88C1; - internal const int MATRIX1_NV = 0x8631; - internal const int MATRIX20_ARB = 0x88D4; - internal const int MATRIX21_ARB = 0x88D5; - internal const int MATRIX22_ARB = 0x88D6; - internal const int MATRIX23_ARB = 0x88D7; - internal const int MATRIX24_ARB = 0x88D8; - internal const int MATRIX25_ARB = 0x88D9; - internal const int MATRIX26_ARB = 0x88DA; - internal const int MATRIX27_ARB = 0x88DB; - internal const int MATRIX28_ARB = 0x88DC; - internal const int MATRIX29_ARB = 0x88DD; - internal const int MATRIX2_ARB = 0x88C2; - internal const int MATRIX2_NV = 0x8632; - internal const int MATRIX30_ARB = 0x88DE; - internal const int MATRIX31_ARB = 0x88DF; - internal const int MATRIX3_ARB = 0x88C3; - internal const int MATRIX3_NV = 0x8633; - internal const int MATRIX4_ARB = 0x88C4; - internal const int MATRIX4_NV = 0x8634; - internal const int MATRIX5_ARB = 0x88C5; - internal const int MATRIX5_NV = 0x8635; - internal const int MATRIX6_ARB = 0x88C6; - internal const int MATRIX6_NV = 0x8636; - internal const int MATRIX7_ARB = 0x88C7; - internal const int MATRIX7_NV = 0x8637; - internal const int MATRIX8_ARB = 0x88C8; - internal const int MATRIX9_ARB = 0x88C9; - internal const int MATRIX_EXT = 0x87C0; - internal const int MATRIX_INDEX_ARRAY_ARB = 0x8844; - internal const int MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; - internal const int MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; - internal const int MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; - internal const int MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; - internal const int MATRIX_PALETTE_ARB = 0x8840; - internal const int MATRIX_STRIDE = 0x92FF; - internal const int MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; - internal const int MAT_AMBIENT_BIT_PGI = 0x00100000; - internal const int MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; - internal const int MAT_DIFFUSE_BIT_PGI = 0x00400000; - internal const int MAT_EMISSION_BIT_PGI = 0x00800000; - internal const int MAT_SHININESS_BIT_PGI = 0x02000000; - internal const int MAT_SPECULAR_BIT_PGI = 0x04000000; - internal const int MAX = 0x8008; - internal const int MAX_3D_TEXTURE_SIZE = 0x8073; - internal const int MAX_3D_TEXTURE_SIZE_EXT = 0x8073; - internal const int MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; - internal const int MAX_ACTIVE_LIGHTS_SGIX = 0x8405; - internal const int MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; - internal const int MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; - internal const int MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; - internal const int MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; - internal const int MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; - internal const int MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; - internal const int MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; - internal const int MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; - internal const int MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; - internal const int MAX_CLIPMAP_DEPTH_SGIX = 0x8177; - internal const int MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; - internal const int MAX_CLIP_DISTANCES = 0x0D32; - internal const int MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; - internal const int MAX_COLOR_ATTACHMENTS = 0x8CDF; - internal const int MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; - internal const int MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; - internal const int MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; - internal const int MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; - internal const int MAX_COLOR_TEXTURE_SAMPLES = 0x910E; - internal const int MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; - internal const int MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; - internal const int MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; - internal const int MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; - internal const int MAX_COMBINED_DIMENSIONS = 0x8282; - internal const int MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; - internal const int MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; - internal const int MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; - internal const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; - internal const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; - internal const int MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; - internal const int MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; - internal const int MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; - internal const int MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; - internal const int MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; - internal const int MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; - internal const int MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; - internal const int MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; - internal const int MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; - internal const int MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; - internal const int MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; - internal const int MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; - internal const int MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; - internal const int MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; - internal const int MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; - internal const int MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; - internal const int MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; - internal const int MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; - internal const int MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; - internal const int MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; - internal const int MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; - internal const int MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; - internal const int MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; - internal const int MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; - internal const int MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; - internal const int MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; - internal const int MAX_CONVOLUTION_WIDTH_EXT = 0x801A; - internal const int MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; - internal const int MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; - internal const int MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; - internal const int MAX_CULL_DISTANCES = 0x82F9; - internal const int MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; - internal const int MAX_DEBUG_LOGGED_MESSAGES = 0x9144; - internal const int MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; - internal const int MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; - internal const int MAX_DEBUG_MESSAGE_LENGTH = 0x9143; - internal const int MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; - internal const int MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; - internal const int MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; - internal const int MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; - internal const int MAX_DEFORMATION_ORDER_SGIX = 0x8197; - internal const int MAX_DEPTH = 0x8280; - internal const int MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; - internal const int MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; - internal const int MAX_DETACHED_BUFFERS_NV = 0x95AD; - internal const int MAX_DETACHED_TEXTURES_NV = 0x95AC; - internal const int MAX_DRAW_BUFFERS = 0x8824; - internal const int MAX_DRAW_BUFFERS_ARB = 0x8824; - internal const int MAX_DRAW_BUFFERS_ATI = 0x8824; - internal const int MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; - internal const int MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; - internal const int MAX_ELEMENTS_INDICES = 0x80E9; - internal const int MAX_ELEMENTS_INDICES_EXT = 0x80E9; - internal const int MAX_ELEMENTS_VERTICES = 0x80E8; - internal const int MAX_ELEMENTS_VERTICES_EXT = 0x80E8; - internal const int MAX_ELEMENT_INDEX = 0x8D6B; - internal const int MAX_EXT = 0x8008; - internal const int MAX_FOG_FUNC_POINTS_SGIS = 0x812C; - internal const int MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; - internal const int MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; - internal const int MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; - internal const int MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; - internal const int MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - internal const int MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; - internal const int MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; - internal const int MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; - internal const int MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; - internal const int MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; - internal const int MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; - internal const int MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; - internal const int MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; - internal const int MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; - internal const int MAX_FRAMEBUFFER_HEIGHT = 0x9316; - internal const int MAX_FRAMEBUFFER_LAYERS = 0x9317; - internal const int MAX_FRAMEBUFFER_SAMPLES = 0x9318; - internal const int MAX_FRAMEBUFFER_WIDTH = 0x9315; - internal const int MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; - internal const int MAX_GENERAL_COMBINERS_NV = 0x854D; - internal const int MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; - internal const int MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; - internal const int MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; - internal const int MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; - internal const int MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; - internal const int MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; - internal const int MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; - internal const int MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; - internal const int MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; - internal const int MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; - internal const int MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; - internal const int MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; - internal const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; - internal const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; - internal const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; - internal const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; - internal const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; - internal const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; - internal const int MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; - internal const int MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; - internal const int MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; - internal const int MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; - internal const int MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; - internal const int MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; - internal const int MAX_HEIGHT = 0x827F; - internal const int MAX_IMAGE_SAMPLES = 0x906D; - internal const int MAX_IMAGE_SAMPLES_EXT = 0x906D; - internal const int MAX_IMAGE_UNITS = 0x8F38; - internal const int MAX_IMAGE_UNITS_EXT = 0x8F38; - internal const int MAX_INTEGER_SAMPLES = 0x9110; - internal const int MAX_LABEL_LENGTH = 0x82E8; - internal const int MAX_LAYERS = 0x8281; - internal const int MAX_LGPU_GPUS_NVX = 0x92BA; - internal const int MAX_MAP_TESSELLATION_NV = 0x86D6; - internal const int MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; - internal const int MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; - internal const int MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; - internal const int MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; - internal const int MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; - internal const int MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; - internal const int MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; - internal const int MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; - internal const int MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; - internal const int MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; - internal const int MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; - internal const int MAX_MESH_VIEWS_NV = 0x9557; - internal const int MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; - internal const int MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; - internal const int MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; - internal const int MAX_NAME_LENGTH = 0x92F6; - internal const int MAX_NUM_ACTIVE_VARIABLES = 0x92F7; - internal const int MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; - internal const int MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; - internal const int MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; - internal const int MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; - internal const int MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; - internal const int MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; - internal const int MAX_PALETTE_MATRICES_ARB = 0x8842; - internal const int MAX_PATCH_VERTICES = 0x8E7D; - internal const int MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; - internal const int MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; - internal const int MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; - internal const int MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; - internal const int MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - internal const int MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; - internal const int MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; - internal const int MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - internal const int MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; - internal const int MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; - internal const int MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; - internal const int MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; - internal const int MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - internal const int MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - internal const int MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; - internal const int MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; - internal const int MAX_PROGRAM_MATRICES_ARB = 0x862F; - internal const int MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - internal const int MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; - internal const int MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; - internal const int MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - internal const int MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - internal const int MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - internal const int MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - internal const int MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; - internal const int MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; - internal const int MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; - internal const int MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - internal const int MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; - internal const int MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; - internal const int MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; - internal const int MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; - internal const int MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; - internal const int MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; - internal const int MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - internal const int MAX_PROGRAM_TEXEL_OFFSET = 0x8905; - internal const int MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; - internal const int MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; - internal const int MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; - internal const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; - internal const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; - internal const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; - internal const int MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; - internal const int MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; - internal const int MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; - internal const int MAX_RASTER_SAMPLES_EXT = 0x9329; - internal const int MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; - internal const int MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; - internal const int MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; - internal const int MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; - internal const int MAX_RENDERBUFFER_SIZE = 0x84E8; - internal const int MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; - internal const int MAX_SAMPLES = 0x8D57; - internal const int MAX_SAMPLES_EXT = 0x8D57; - internal const int MAX_SAMPLE_MASK_WORDS = 0x8E59; - internal const int MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; - internal const int MAX_SERVER_WAIT_TIMEOUT = 0x9111; - internal const int MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; - internal const int MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; - internal const int MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; - internal const int MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; - internal const int MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; - internal const int MAX_SHININESS_NV = 0x8504; - internal const int MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; - internal const int MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; - internal const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; - internal const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; - internal const int MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; - internal const int MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; - internal const int MAX_SPOT_EXPONENT_NV = 0x8505; - internal const int MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; - internal const int MAX_SUBROUTINES = 0x8DE7; - internal const int MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; - internal const int MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; - internal const int MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; - internal const int MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; - internal const int MAX_TASK_OUTPUT_COUNT_NV = 0x953A; - internal const int MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; - internal const int MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; - internal const int MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; - internal const int MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; - internal const int MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; - internal const int MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; - internal const int MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; - internal const int MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; - internal const int MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; - internal const int MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; - internal const int MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; - internal const int MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; - internal const int MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; - internal const int MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; - internal const int MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; - internal const int MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; - internal const int MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; - internal const int MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; - internal const int MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; - internal const int MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; - internal const int MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; - internal const int MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; - internal const int MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; - internal const int MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; - internal const int MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; - internal const int MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; - internal const int MAX_TESS_GEN_LEVEL = 0x8E7E; - internal const int MAX_TESS_PATCH_COMPONENTS = 0x8E84; - internal const int MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; - internal const int MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; - internal const int MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; - internal const int MAX_TEXTURE_COORDS_ARB = 0x8871; - internal const int MAX_TEXTURE_COORDS_NV = 0x8871; - internal const int MAX_TEXTURE_IMAGE_UNITS = 0x8872; - internal const int MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; - internal const int MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; - internal const int MAX_TEXTURE_LOD_BIAS = 0x84FD; - internal const int MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; - internal const int MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF; - internal const int MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; - internal const int MAX_TEXTURE_SIZE = 0x0D33; - internal const int MAX_TEXTURE_UNITS_ARB = 0x84E2; - internal const int MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; - internal const int MAX_TRACK_MATRICES_NV = 0x862F; - internal const int MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; - internal const int MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; - internal const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; - internal const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; - internal const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; - internal const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; - internal const int MAX_UNIFORM_BLOCK_SIZE = 0x8A30; - internal const int MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; - internal const int MAX_UNIFORM_LOCATIONS = 0x826E; - internal const int MAX_VARYING_COMPONENTS = 0x8B4B; - internal const int MAX_VARYING_COMPONENTS_EXT = 0x8B4B; - internal const int MAX_VARYING_FLOATS = 0x8B4B; - internal const int MAX_VARYING_FLOATS_ARB = 0x8B4B; - internal const int MAX_VARYING_VECTORS = 0x8DFC; - internal const int MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; - internal const int MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; - internal const int MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; - internal const int MAX_VERTEX_ATTRIBS = 0x8869; - internal const int MAX_VERTEX_ATTRIBS_ARB = 0x8869; - internal const int MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; - internal const int MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; - internal const int MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; - internal const int MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; - internal const int MAX_VERTEX_HINT_PGI = 0x1A22D; - internal const int MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; - internal const int MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - internal const int MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; - internal const int MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; - internal const int MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; - internal const int MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; - internal const int MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; - internal const int MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; - internal const int MAX_VERTEX_STREAMS = 0x8E71; - internal const int MAX_VERTEX_STREAMS_ATI = 0x876B; - internal const int MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; - internal const int MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; - internal const int MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; - internal const int MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; - internal const int MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; - internal const int MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; - internal const int MAX_VERTEX_UNITS_ARB = 0x86A4; - internal const int MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; - internal const int MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; - internal const int MAX_VIEWPORTS = 0x825B; - internal const int MAX_VIEWPORT_DIMS = 0x0D3A; - internal const int MAX_VIEWS_OVR = 0x9631; - internal const int MAX_WIDTH = 0x827E; - internal const int MAX_WINDOW_RECTANGLES_EXT = 0x8F14; - internal const int MEDIUM_FLOAT = 0x8DF1; - internal const int MEDIUM_INT = 0x8DF4; - internal const int MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; - internal const int MEMORY_ATTACHABLE_NV = 0x95A8; - internal const int MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; - internal const int MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; - internal const int MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; - internal const int MESH_OUTPUT_TYPE_NV = 0x957B; - internal const int MESH_PRIMITIVES_OUT_NV = 0x957A; - internal const int MESH_SHADER_BIT_NV = 0x00000040; - internal const int MESH_SHADER_NV = 0x9559; - internal const int MESH_SUBROUTINE_NV = 0x957C; - internal const int MESH_SUBROUTINE_UNIFORM_NV = 0x957E; - internal const int MESH_VERTICES_OUT_NV = 0x9579; - internal const int MESH_WORK_GROUP_SIZE_NV = 0x953E; - internal const int MIN = 0x8007; - internal const int MINMAX_EXT = 0x802E; - internal const int MINMAX_FORMAT_EXT = 0x802F; - internal const int MINMAX_SINK_EXT = 0x8030; - internal const int MINOR_VERSION = 0x821C; - internal const int MINUS_CLAMPED_NV = 0x92B3; - internal const int MINUS_NV = 0x929F; - internal const int MIN_EXT = 0x8007; - internal const int MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; - internal const int MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; - internal const int MIN_LOD_WARNING_AMD = 0x919C; - internal const int MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; - internal const int MIN_PROGRAM_TEXEL_OFFSET = 0x8904; - internal const int MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; - internal const int MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; - internal const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; - internal const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; - internal const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; - internal const int MIN_SAMPLE_SHADING_VALUE = 0x8C37; - internal const int MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; - internal const int MIN_SPARSE_LEVEL_AMD = 0x919B; - internal const int MIPMAP = 0x8293; - internal const int MIRRORED_REPEAT = 0x8370; - internal const int MIRRORED_REPEAT_ARB = 0x8370; - internal const int MIRRORED_REPEAT_IBM = 0x8370; - internal const int MIRROR_CLAMP_ATI = 0x8742; - internal const int MIRROR_CLAMP_EXT = 0x8742; - internal const int MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; - internal const int MIRROR_CLAMP_TO_EDGE = 0x8743; - internal const int MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; - internal const int MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; - internal const int MITER_REVERT_NV = 0x90A7; - internal const int MITER_TRUNCATE_NV = 0x90A8; - internal const int MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; - internal const int MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; - internal const int MODELVIEW0_ARB = 0x1700; - internal const int MODELVIEW0_EXT = 0x1700; - internal const int MODELVIEW0_MATRIX_EXT = 0x0BA6; - internal const int MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; - internal const int MODELVIEW10_ARB = 0x872A; - internal const int MODELVIEW11_ARB = 0x872B; - internal const int MODELVIEW12_ARB = 0x872C; - internal const int MODELVIEW13_ARB = 0x872D; - internal const int MODELVIEW14_ARB = 0x872E; - internal const int MODELVIEW15_ARB = 0x872F; - internal const int MODELVIEW16_ARB = 0x8730; - internal const int MODELVIEW17_ARB = 0x8731; - internal const int MODELVIEW18_ARB = 0x8732; - internal const int MODELVIEW19_ARB = 0x8733; - internal const int MODELVIEW1_ARB = 0x850A; - internal const int MODELVIEW1_EXT = 0x850A; - internal const int MODELVIEW1_MATRIX_EXT = 0x8506; - internal const int MODELVIEW1_STACK_DEPTH_EXT = 0x8502; - internal const int MODELVIEW20_ARB = 0x8734; - internal const int MODELVIEW21_ARB = 0x8735; - internal const int MODELVIEW22_ARB = 0x8736; - internal const int MODELVIEW23_ARB = 0x8737; - internal const int MODELVIEW24_ARB = 0x8738; - internal const int MODELVIEW25_ARB = 0x8739; - internal const int MODELVIEW26_ARB = 0x873A; - internal const int MODELVIEW27_ARB = 0x873B; - internal const int MODELVIEW28_ARB = 0x873C; - internal const int MODELVIEW29_ARB = 0x873D; - internal const int MODELVIEW2_ARB = 0x8722; - internal const int MODELVIEW30_ARB = 0x873E; - internal const int MODELVIEW31_ARB = 0x873F; - internal const int MODELVIEW3_ARB = 0x8723; - internal const int MODELVIEW4_ARB = 0x8724; - internal const int MODELVIEW5_ARB = 0x8725; - internal const int MODELVIEW6_ARB = 0x8726; - internal const int MODELVIEW7_ARB = 0x8727; - internal const int MODELVIEW8_ARB = 0x8728; - internal const int MODELVIEW9_ARB = 0x8729; - internal const int MODELVIEW_PROJECTION_NV = 0x8629; - internal const int MODULATE_ADD_ATI = 0x8744; - internal const int MODULATE_SIGNED_ADD_ATI = 0x8745; - internal const int MODULATE_SUBTRACT_ATI = 0x8746; - internal const int MOVE_TO_CONTINUES_NV = 0x90B6; - internal const int MOVE_TO_NV = 0x02; - internal const int MOVE_TO_RESETS_NV = 0x90B5; - internal const int MOV_ATI = 0x8961; - internal const int MULTICAST_GPUS_NV = 0x92BA; - internal const int MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; - internal const int MULTIPLY_KHR = 0x9294; - internal const int MULTIPLY_NV = 0x9294; - internal const int MULTISAMPLE = 0x809D; - internal const int MULTISAMPLES_NV = 0x9371; - internal const int MULTISAMPLE_3DFX = 0x86B2; - internal const int MULTISAMPLE_ARB = 0x809D; - internal const int MULTISAMPLE_BIT_3DFX = 0x20000000; - internal const int MULTISAMPLE_BIT_ARB = 0x20000000; - internal const int MULTISAMPLE_BIT_EXT = 0x20000000; - internal const int MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; - internal const int MULTISAMPLE_EXT = 0x809D; - internal const int MULTISAMPLE_FILTER_HINT_NV = 0x8534; - internal const int MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; - internal const int MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; - internal const int MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; - internal const int MULTISAMPLE_SGIS = 0x809D; - internal const int MUL_ATI = 0x8964; - internal const int MVP_MATRIX_EXT = 0x87E3; - internal const int NAMED_STRING_LENGTH_ARB = 0x8DE9; - internal const int NAMED_STRING_TYPE_ARB = 0x8DEA; - internal const int NAME_LENGTH = 0x92F9; - internal const int NAND = 0x150E; - internal const int NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; - internal const int NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; - internal const int NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; - internal const int NEAREST = 0x2600; - internal const int NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; - internal const int NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; - internal const int NEAREST_MIPMAP_LINEAR = 0x2702; - internal const int NEAREST_MIPMAP_NEAREST = 0x2700; - internal const int NEGATE_BIT_ATI = 0x00000004; - internal const int NEGATIVE_ONE_EXT = 0x87DF; - internal const int NEGATIVE_ONE_TO_ONE = 0x935E; - internal const int NEGATIVE_W_EXT = 0x87DC; - internal const int NEGATIVE_X_EXT = 0x87D9; - internal const int NEGATIVE_Y_EXT = 0x87DA; - internal const int NEGATIVE_Z_EXT = 0x87DB; - internal const int NEVER = 0x0200; - internal const int NEXT_BUFFER_NV = -2; - internal const int NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; - internal const int NICEST = 0x1102; - internal const int NONE = 0; - internal const int NOOP = 0x1505; - internal const int NOP_COMMAND_NV = 0x0001; - internal const int NOR = 0x1508; - internal const int NORMALIZED_RANGE_EXT = 0x87E0; - internal const int NORMAL_ARRAY_ADDRESS_NV = 0x8F22; - internal const int NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; - internal const int NORMAL_ARRAY_COUNT_EXT = 0x8080; - internal const int NORMAL_ARRAY_EXT = 0x8075; - internal const int NORMAL_ARRAY_LENGTH_NV = 0x8F2C; - internal const int NORMAL_ARRAY_LIST_IBM = 103071; - internal const int NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; - internal const int NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; - internal const int NORMAL_ARRAY_POINTER_EXT = 0x808F; - internal const int NORMAL_ARRAY_STRIDE_EXT = 0x807F; - internal const int NORMAL_ARRAY_TYPE_EXT = 0x807E; - internal const int NORMAL_BIT_PGI = 0x08000000; - internal const int NORMAL_MAP_ARB = 0x8511; - internal const int NORMAL_MAP_EXT = 0x8511; - internal const int NORMAL_MAP_NV = 0x8511; - internal const int NOTEQUAL = 0x0205; - internal const int NO_ERROR = 0; - internal const int NO_RESET_NOTIFICATION = 0x8261; - internal const int NO_RESET_NOTIFICATION_ARB = 0x8261; - internal const int NUM_ACTIVE_VARIABLES = 0x9304; - internal const int NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; - internal const int NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; - internal const int NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; - internal const int NUM_DEVICE_UUIDS_EXT = 0x9596; - internal const int NUM_EXTENSIONS = 0x821D; - internal const int NUM_FILL_STREAMS_NV = 0x8E29; - internal const int NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; - internal const int NUM_FRAGMENT_REGISTERS_ATI = 0x896E; - internal const int NUM_GENERAL_COMBINERS_NV = 0x854E; - internal const int NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; - internal const int NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; - internal const int NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; - internal const int NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; - internal const int NUM_PASSES_ATI = 0x8970; - internal const int NUM_PROGRAM_BINARY_FORMATS = 0x87FE; - internal const int NUM_SAMPLE_COUNTS = 0x9380; - internal const int NUM_SHADER_BINARY_FORMATS = 0x8DF9; - internal const int NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; - internal const int NUM_SPARSE_LEVELS_ARB = 0x91AA; - internal const int NUM_SPIR_V_EXTENSIONS = 0x9554; - internal const int NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; - internal const int NUM_TILING_TYPES_EXT = 0x9582; - internal const int NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; - internal const int NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; - internal const int NUM_WINDOW_RECTANGLES_EXT = 0x8F15; - internal const int OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; - internal const int OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; - internal const int OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; - internal const int OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; - internal const int OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; - internal const int OBJECT_BUFFER_SIZE_ATI = 0x8764; - internal const int OBJECT_BUFFER_USAGE_ATI = 0x8765; - internal const int OBJECT_COMPILE_STATUS_ARB = 0x8B81; - internal const int OBJECT_DELETE_STATUS_ARB = 0x8B80; - internal const int OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; - internal const int OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; - internal const int OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; - internal const int OBJECT_LINE_SGIS = 0x81F7; - internal const int OBJECT_LINK_STATUS_ARB = 0x8B82; - internal const int OBJECT_POINT_SGIS = 0x81F5; - internal const int OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; - internal const int OBJECT_SUBTYPE_ARB = 0x8B4F; - internal const int OBJECT_TYPE = 0x9112; - internal const int OBJECT_TYPE_ARB = 0x8B4E; - internal const int OBJECT_VALIDATE_STATUS_ARB = 0x8B83; - internal const int OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; - internal const int OCCLUSION_TEST_HP = 0x8165; - internal const int OCCLUSION_TEST_RESULT_HP = 0x8166; - internal const int OFFSET = 0x92FC; - internal const int OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; - internal const int OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; - internal const int OFFSET_HILO_TEXTURE_2D_NV = 0x8854; - internal const int OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; - internal const int OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; - internal const int OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; - internal const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; - internal const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; - internal const int OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; - internal const int OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; - internal const int OFFSET_TEXTURE_2D_NV = 0x86E8; - internal const int OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; - internal const int OFFSET_TEXTURE_BIAS_NV = 0x86E3; - internal const int OFFSET_TEXTURE_MATRIX_NV = 0x86E1; - internal const int OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; - internal const int OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; - internal const int OFFSET_TEXTURE_SCALE_NV = 0x86E2; - internal const int ONE = 1; - internal const int ONE_EXT = 0x87DE; - internal const int ONE_MINUS_CONSTANT_ALPHA = 0x8004; - internal const int ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; - internal const int ONE_MINUS_CONSTANT_COLOR = 0x8002; - internal const int ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; - internal const int ONE_MINUS_DST_ALPHA = 0x0305; - internal const int ONE_MINUS_DST_COLOR = 0x0307; - internal const int ONE_MINUS_SRC1_ALPHA = 0x88FB; - internal const int ONE_MINUS_SRC1_COLOR = 0x88FA; - internal const int ONE_MINUS_SRC_ALPHA = 0x0303; - internal const int ONE_MINUS_SRC_COLOR = 0x0301; - internal const int OPERAND0_ALPHA_ARB = 0x8598; - internal const int OPERAND0_ALPHA_EXT = 0x8598; - internal const int OPERAND0_RGB_ARB = 0x8590; - internal const int OPERAND0_RGB_EXT = 0x8590; - internal const int OPERAND1_ALPHA_ARB = 0x8599; - internal const int OPERAND1_ALPHA_EXT = 0x8599; - internal const int OPERAND1_RGB_ARB = 0x8591; - internal const int OPERAND1_RGB_EXT = 0x8591; - internal const int OPERAND2_ALPHA_ARB = 0x859A; - internal const int OPERAND2_ALPHA_EXT = 0x859A; - internal const int OPERAND2_RGB_ARB = 0x8592; - internal const int OPERAND2_RGB_EXT = 0x8592; - internal const int OPERAND3_ALPHA_NV = 0x859B; - internal const int OPERAND3_RGB_NV = 0x8593; - internal const int OPTIMAL_TILING_EXT = 0x9584; - internal const int OP_ADD_EXT = 0x8787; - internal const int OP_CLAMP_EXT = 0x878E; - internal const int OP_CROSS_PRODUCT_EXT = 0x8797; - internal const int OP_DOT3_EXT = 0x8784; - internal const int OP_DOT4_EXT = 0x8785; - internal const int OP_EXP_BASE_2_EXT = 0x8791; - internal const int OP_FLOOR_EXT = 0x878F; - internal const int OP_FRAC_EXT = 0x8789; - internal const int OP_INDEX_EXT = 0x8782; - internal const int OP_LOG_BASE_2_EXT = 0x8792; - internal const int OP_MADD_EXT = 0x8788; - internal const int OP_MAX_EXT = 0x878A; - internal const int OP_MIN_EXT = 0x878B; - internal const int OP_MOV_EXT = 0x8799; - internal const int OP_MULTIPLY_MATRIX_EXT = 0x8798; - internal const int OP_MUL_EXT = 0x8786; - internal const int OP_NEGATE_EXT = 0x8783; - internal const int OP_POWER_EXT = 0x8793; - internal const int OP_RECIP_EXT = 0x8794; - internal const int OP_RECIP_SQRT_EXT = 0x8795; - internal const int OP_ROUND_EXT = 0x8790; - internal const int OP_SET_GE_EXT = 0x878C; - internal const int OP_SET_LT_EXT = 0x878D; - internal const int OP_SUB_EXT = 0x8796; - internal const int OR = 0x1507; - internal const int OR_INVERTED = 0x150D; - internal const int OR_REVERSE = 0x150B; - internal const int OUTPUT_COLOR0_EXT = 0x879B; - internal const int OUTPUT_COLOR1_EXT = 0x879C; - internal const int OUTPUT_FOG_EXT = 0x87BD; - internal const int OUTPUT_TEXTURE_COORD0_EXT = 0x879D; - internal const int OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; - internal const int OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; - internal const int OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; - internal const int OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; - internal const int OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; - internal const int OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; - internal const int OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; - internal const int OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; - internal const int OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; - internal const int OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; - internal const int OUTPUT_TEXTURE_COORD1_EXT = 0x879E; - internal const int OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; - internal const int OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; - internal const int OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; - internal const int OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; - internal const int OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; - internal const int OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; - internal const int OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; - internal const int OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; - internal const int OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; - internal const int OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; - internal const int OUTPUT_TEXTURE_COORD2_EXT = 0x879F; - internal const int OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; - internal const int OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; - internal const int OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; - internal const int OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; - internal const int OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; - internal const int OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; - internal const int OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; - internal const int OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; - internal const int OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; - internal const int OUTPUT_VERTEX_EXT = 0x879A; - internal const int OUT_OF_MEMORY = 0x0505; - internal const int OVERLAY_KHR = 0x9296; - internal const int OVERLAY_NV = 0x9296; - internal const int PACK_ALIGNMENT = 0x0D05; - internal const int PACK_CMYK_HINT_EXT = 0x800E; - internal const int PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; - internal const int PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; - internal const int PACK_COMPRESSED_BLOCK_SIZE = 0x912E; - internal const int PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; - internal const int PACK_IMAGE_DEPTH_SGIS = 0x8131; - internal const int PACK_IMAGE_HEIGHT = 0x806C; - internal const int PACK_IMAGE_HEIGHT_EXT = 0x806C; - internal const int PACK_INVERT_MESA = 0x8758; - internal const int PACK_LSB_FIRST = 0x0D01; - internal const int PACK_RESAMPLE_OML = 0x8984; - internal const int PACK_RESAMPLE_SGIX = 0x842E; - internal const int PACK_ROW_BYTES_APPLE = 0x8A15; - internal const int PACK_ROW_LENGTH = 0x0D02; - internal const int PACK_SKIP_IMAGES = 0x806B; - internal const int PACK_SKIP_IMAGES_EXT = 0x806B; - internal const int PACK_SKIP_PIXELS = 0x0D04; - internal const int PACK_SKIP_ROWS = 0x0D03; - internal const int PACK_SKIP_VOLUMES_SGIS = 0x8130; - internal const int PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; - internal const int PACK_SWAP_BYTES = 0x0D00; - internal const int PALETTE4_R5_G6_B5_OES = 0x8B92; - internal const int PALETTE4_RGB5_A1_OES = 0x8B94; - internal const int PALETTE4_RGB8_OES = 0x8B90; - internal const int PALETTE4_RGBA4_OES = 0x8B93; - internal const int PALETTE4_RGBA8_OES = 0x8B91; - internal const int PALETTE8_R5_G6_B5_OES = 0x8B97; - internal const int PALETTE8_RGB5_A1_OES = 0x8B99; - internal const int PALETTE8_RGB8_OES = 0x8B95; - internal const int PALETTE8_RGBA4_OES = 0x8B98; - internal const int PALETTE8_RGBA8_OES = 0x8B96; - internal const int PARALLEL_ARRAYS_INTEL = 0x83F4; - internal const int PARAMETER_BUFFER = 0x80EE; - internal const int PARAMETER_BUFFER_ARB = 0x80EE; - internal const int PARAMETER_BUFFER_BINDING = 0x80EF; - internal const int PARAMETER_BUFFER_BINDING_ARB = 0x80EF; - internal const int PARTIAL_SUCCESS_NV = 0x902E; - internal const int PASS_THROUGH_NV = 0x86E6; - internal const int PATCHES = 0x000E; - internal const int PATCH_DEFAULT_INNER_LEVEL = 0x8E73; - internal const int PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; - internal const int PATCH_VERTICES = 0x8E72; - internal const int PATH_CLIENT_LENGTH_NV = 0x907F; - internal const int PATH_COMMAND_COUNT_NV = 0x909D; - internal const int PATH_COMPUTED_LENGTH_NV = 0x90A0; - internal const int PATH_COORD_COUNT_NV = 0x909E; - internal const int PATH_COVER_DEPTH_FUNC_NV = 0x90BF; - internal const int PATH_DASH_ARRAY_COUNT_NV = 0x909F; - internal const int PATH_DASH_CAPS_NV = 0x907B; - internal const int PATH_DASH_OFFSET_NV = 0x907E; - internal const int PATH_DASH_OFFSET_RESET_NV = 0x90B4; - internal const int PATH_END_CAPS_NV = 0x9076; - internal const int PATH_ERROR_POSITION_NV = 0x90AB; - internal const int PATH_FILL_BOUNDING_BOX_NV = 0x90A1; - internal const int PATH_FILL_COVER_MODE_NV = 0x9082; - internal const int PATH_FILL_MASK_NV = 0x9081; - internal const int PATH_FILL_MODE_NV = 0x9080; - internal const int PATH_FORMAT_PS_NV = 0x9071; - internal const int PATH_FORMAT_SVG_NV = 0x9070; - internal const int PATH_GEN_COEFF_NV = 0x90B1; - internal const int PATH_GEN_COMPONENTS_NV = 0x90B3; - internal const int PATH_GEN_MODE_NV = 0x90B0; - internal const int PATH_INITIAL_DASH_CAP_NV = 0x907C; - internal const int PATH_INITIAL_END_CAP_NV = 0x9077; - internal const int PATH_JOIN_STYLE_NV = 0x9079; - internal const int PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; - internal const int PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; - internal const int PATH_MITER_LIMIT_NV = 0x907A; - internal const int PATH_MODELVIEW_MATRIX_NV = 0x0BA6; - internal const int PATH_MODELVIEW_NV = 0x1700; - internal const int PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; - internal const int PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; - internal const int PATH_PROJECTION_MATRIX_NV = 0x0BA7; - internal const int PATH_PROJECTION_NV = 0x1701; - internal const int PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; - internal const int PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; - internal const int PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; - internal const int PATH_STENCIL_FUNC_NV = 0x90B7; - internal const int PATH_STENCIL_REF_NV = 0x90B8; - internal const int PATH_STENCIL_VALUE_MASK_NV = 0x90B9; - internal const int PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; - internal const int PATH_STROKE_COVER_MODE_NV = 0x9083; - internal const int PATH_STROKE_MASK_NV = 0x9084; - internal const int PATH_STROKE_WIDTH_NV = 0x9075; - internal const int PATH_TERMINAL_DASH_CAP_NV = 0x907D; - internal const int PATH_TERMINAL_END_CAP_NV = 0x9078; - internal const int PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; - internal const int PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; - internal const int PERCENTAGE_AMD = 0x8BC3; - internal const int PERFMON_RESULT_AMD = 0x8BC6; - internal const int PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; - internal const int PERFMON_RESULT_SIZE_AMD = 0x8BC5; - internal const int PERFORMANCE_MONITOR_AMD = 0x9152; - internal const int PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; - internal const int PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; - internal const int PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; - internal const int PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; - internal const int PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; - internal const int PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; - internal const int PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; - internal const int PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; - internal const int PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; - internal const int PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; - internal const int PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; - internal const int PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; - internal const int PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; - internal const int PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; - internal const int PERFQUERY_FLUSH_INTEL = 0x83FA; - internal const int PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; - internal const int PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; - internal const int PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; - internal const int PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; - internal const int PERFQUERY_WAIT_INTEL = 0x83FB; - internal const int PERTURB_EXT = 0x85AE; - internal const int PER_GPU_STORAGE_BIT_NV = 0x0800; - internal const int PER_GPU_STORAGE_NV = 0x9548; - internal const int PER_STAGE_CONSTANTS_NV = 0x8535; - internal const int PHONG_HINT_WIN = 0x80EB; - internal const int PHONG_WIN = 0x80EA; - internal const int PINLIGHT_NV = 0x92A8; - internal const int PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; - internal const int PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; - internal const int PIXEL_BUFFER_BARRIER_BIT = 0x00000080; - internal const int PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; - internal const int PIXEL_COUNTER_BITS_NV = 0x8864; - internal const int PIXEL_COUNT_AVAILABLE_NV = 0x8867; - internal const int PIXEL_COUNT_NV = 0x8866; - internal const int PIXEL_CUBIC_WEIGHT_EXT = 0x8333; - internal const int PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; - internal const int PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; - internal const int PIXEL_GROUP_COLOR_SGIS = 0x8356; - internal const int PIXEL_MAG_FILTER_EXT = 0x8331; - internal const int PIXEL_MIN_FILTER_EXT = 0x8332; - internal const int PIXEL_PACK_BUFFER = 0x88EB; - internal const int PIXEL_PACK_BUFFER_ARB = 0x88EB; - internal const int PIXEL_PACK_BUFFER_BINDING = 0x88ED; - internal const int PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; - internal const int PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; - internal const int PIXEL_PACK_BUFFER_EXT = 0x88EB; - internal const int PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; - internal const int PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; - internal const int PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; - internal const int PIXEL_TEXTURE_SGIS = 0x8353; - internal const int PIXEL_TEX_GEN_MODE_SGIX = 0x832B; - internal const int PIXEL_TEX_GEN_SGIX = 0x8139; - internal const int PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; - internal const int PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; - internal const int PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; - internal const int PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; - internal const int PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; - internal const int PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; - internal const int PIXEL_TILE_HEIGHT_SGIX = 0x8141; - internal const int PIXEL_TILE_WIDTH_SGIX = 0x8140; - internal const int PIXEL_TRANSFORM_2D_EXT = 0x8330; - internal const int PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; - internal const int PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; - internal const int PIXEL_UNPACK_BUFFER = 0x88EC; - internal const int PIXEL_UNPACK_BUFFER_ARB = 0x88EC; - internal const int PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; - internal const int PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; - internal const int PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; - internal const int PIXEL_UNPACK_BUFFER_EXT = 0x88EC; - internal const int PLUS_CLAMPED_ALPHA_NV = 0x92B2; - internal const int PLUS_CLAMPED_NV = 0x92B1; - internal const int PLUS_DARKER_NV = 0x9292; - internal const int PLUS_NV = 0x9291; - internal const int PN_TRIANGLES_ATI = 0x87F0; - internal const int PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; - internal const int PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; - internal const int PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; - internal const int PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; - internal const int PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; - internal const int PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; - internal const int PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; - internal const int POINT = 0x1B00; - internal const int POINTS = 0x0000; - internal const int POINT_DISTANCE_ATTENUATION_ARB = 0x8129; - internal const int POINT_FADE_THRESHOLD_SIZE = 0x8128; - internal const int POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; - internal const int POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; - internal const int POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; - internal const int POINT_SIZE = 0x0B11; - internal const int POINT_SIZE_GRANULARITY = 0x0B13; - internal const int POINT_SIZE_MAX_ARB = 0x8127; - internal const int POINT_SIZE_MAX_EXT = 0x8127; - internal const int POINT_SIZE_MAX_SGIS = 0x8127; - internal const int POINT_SIZE_MIN_ARB = 0x8126; - internal const int POINT_SIZE_MIN_EXT = 0x8126; - internal const int POINT_SIZE_MIN_SGIS = 0x8126; - internal const int POINT_SIZE_RANGE = 0x0B12; - internal const int POINT_SPRITE_ARB = 0x8861; - internal const int POINT_SPRITE_COORD_ORIGIN = 0x8CA0; - internal const int POINT_SPRITE_NV = 0x8861; - internal const int POINT_SPRITE_R_MODE_NV = 0x8863; - internal const int POLYGON_MODE = 0x0B40; - internal const int POLYGON_OFFSET_BIAS_EXT = 0x8039; - internal const int POLYGON_OFFSET_CLAMP = 0x8E1B; - internal const int POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; - internal const int POLYGON_OFFSET_COMMAND_NV = 0x000E; - internal const int POLYGON_OFFSET_EXT = 0x8037; - internal const int POLYGON_OFFSET_FACTOR = 0x8038; - internal const int POLYGON_OFFSET_FACTOR_EXT = 0x8038; - internal const int POLYGON_OFFSET_FILL = 0x8037; - internal const int POLYGON_OFFSET_LINE = 0x2A02; - internal const int POLYGON_OFFSET_POINT = 0x2A01; - internal const int POLYGON_OFFSET_UNITS = 0x2A00; - internal const int POLYGON_SMOOTH = 0x0B41; - internal const int POLYGON_SMOOTH_HINT = 0x0C53; - internal const int POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; - internal const int POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; - internal const int POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; - internal const int POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; - internal const int POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; - internal const int POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; - internal const int POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; - internal const int POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; - internal const int POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; - internal const int POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; - internal const int POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; - internal const int POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; - internal const int POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; - internal const int POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; - internal const int POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; - internal const int POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; - internal const int POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; - internal const int POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; - internal const int POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; - internal const int POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; - internal const int POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; - internal const int POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; - internal const int POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; - internal const int PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; - internal const int PRESENT_DURATION_NV = 0x8E2B; - internal const int PRESENT_TIME_NV = 0x8E2A; - internal const int PRESERVE_ATI = 0x8762; - internal const int PREVIOUS_ARB = 0x8578; - internal const int PREVIOUS_EXT = 0x8578; - internal const int PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; - internal const int PRIMARY_COLOR_ARB = 0x8577; - internal const int PRIMARY_COLOR_EXT = 0x8577; - internal const int PRIMARY_COLOR_NV = 0x852C; - internal const int PRIMITIVES_GENERATED = 0x8C87; - internal const int PRIMITIVES_GENERATED_EXT = 0x8C87; - internal const int PRIMITIVES_GENERATED_NV = 0x8C87; - internal const int PRIMITIVES_SUBMITTED = 0x82EF; - internal const int PRIMITIVES_SUBMITTED_ARB = 0x82EF; - internal const int PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; - internal const int PRIMITIVE_ID_NV = 0x8C7C; - internal const int PRIMITIVE_RESTART = 0x8F9D; - internal const int PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; - internal const int PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; - internal const int PRIMITIVE_RESTART_INDEX = 0x8F9E; - internal const int PRIMITIVE_RESTART_INDEX_NV = 0x8559; - internal const int PRIMITIVE_RESTART_NV = 0x8558; - internal const int PROGRAM = 0x82E2; - internal const int PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; - internal const int PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; - internal const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; - internal const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; - internal const int PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; - internal const int PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; - internal const int PROGRAM_ATTRIBS_ARB = 0x88AC; - internal const int PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; - internal const int PROGRAM_BINARY_FORMATS = 0x87FF; - internal const int PROGRAM_BINARY_FORMAT_MESA = 0x875F; - internal const int PROGRAM_BINARY_LENGTH = 0x8741; - internal const int PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; - internal const int PROGRAM_BINDING_ARB = 0x8677; - internal const int PROGRAM_ERROR_POSITION_ARB = 0x864B; - internal const int PROGRAM_ERROR_POSITION_NV = 0x864B; - internal const int PROGRAM_ERROR_STRING_ARB = 0x8874; - internal const int PROGRAM_ERROR_STRING_NV = 0x8874; - internal const int PROGRAM_FORMAT_ARB = 0x8876; - internal const int PROGRAM_FORMAT_ASCII_ARB = 0x8875; - internal const int PROGRAM_INPUT = 0x92E3; - internal const int PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - internal const int PROGRAM_LENGTH_ARB = 0x8627; - internal const int PROGRAM_LENGTH_NV = 0x8627; - internal const int PROGRAM_MATRIX_EXT = 0x8E2D; - internal const int PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; - internal const int PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; - internal const int PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; - internal const int PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - internal const int PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - internal const int PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - internal const int PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - internal const int PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; - internal const int PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; - internal const int PROGRAM_OBJECT_ARB = 0x8B40; - internal const int PROGRAM_OBJECT_EXT = 0x8B40; - internal const int PROGRAM_OUTPUT = 0x92E4; - internal const int PROGRAM_PARAMETERS_ARB = 0x88A8; - internal const int PROGRAM_PARAMETER_NV = 0x8644; - internal const int PROGRAM_PIPELINE = 0x82E4; - internal const int PROGRAM_PIPELINE_BINDING = 0x825A; - internal const int PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; - internal const int PROGRAM_POINT_SIZE = 0x8642; - internal const int PROGRAM_POINT_SIZE_ARB = 0x8642; - internal const int PROGRAM_POINT_SIZE_EXT = 0x8642; - internal const int PROGRAM_RESIDENT_NV = 0x8647; - internal const int PROGRAM_RESULT_COMPONENTS_NV = 0x8907; - internal const int PROGRAM_SEPARABLE = 0x8258; - internal const int PROGRAM_STRING_ARB = 0x8628; - internal const int PROGRAM_STRING_NV = 0x8628; - internal const int PROGRAM_TARGET_NV = 0x8646; - internal const int PROGRAM_TEMPORARIES_ARB = 0x88A4; - internal const int PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; - internal const int PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; - internal const int PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - internal const int PROTECTED_MEMORY_OBJECT_EXT = 0x959B; - internal const int PROVOKING_VERTEX = 0x8E4F; - internal const int PROVOKING_VERTEX_EXT = 0x8E4F; - internal const int PROXY_COLOR_TABLE_SGI = 0x80D3; - internal const int PROXY_HISTOGRAM_EXT = 0x8025; - internal const int PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; - internal const int PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; - internal const int PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; - internal const int PROXY_TEXTURE_1D = 0x8063; - internal const int PROXY_TEXTURE_1D_ARRAY = 0x8C19; - internal const int PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; - internal const int PROXY_TEXTURE_1D_EXT = 0x8063; - internal const int PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; - internal const int PROXY_TEXTURE_2D = 0x8064; - internal const int PROXY_TEXTURE_2D_ARRAY = 0x8C1B; - internal const int PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; - internal const int PROXY_TEXTURE_2D_EXT = 0x8064; - internal const int PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; - internal const int PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; - internal const int PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; - internal const int PROXY_TEXTURE_3D = 0x8070; - internal const int PROXY_TEXTURE_3D_EXT = 0x8070; - internal const int PROXY_TEXTURE_4D_SGIS = 0x8135; - internal const int PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; - internal const int PROXY_TEXTURE_CUBE_MAP = 0x851B; - internal const int PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; - internal const int PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; - internal const int PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; - internal const int PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; - internal const int PROXY_TEXTURE_RECTANGLE = 0x84F7; - internal const int PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; - internal const int PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; - internal const int PURGEABLE_APPLE = 0x8A1D; - internal const int PURGED_CONTEXT_RESET_NV = 0x92BB; - internal const int QUADRATIC_CURVE_TO_NV = 0x0A; - internal const int QUADS = 0x0007; - internal const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; - internal const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; - internal const int QUAD_ALPHA4_SGIS = 0x811E; - internal const int QUAD_ALPHA8_SGIS = 0x811F; - internal const int QUAD_INTENSITY4_SGIS = 0x8122; - internal const int QUAD_INTENSITY8_SGIS = 0x8123; - internal const int QUAD_LUMINANCE4_SGIS = 0x8120; - internal const int QUAD_LUMINANCE8_SGIS = 0x8121; - internal const int QUAD_MESH_SUN = 0x8614; - internal const int QUAD_TEXTURE_SELECT_SGIS = 0x8125; - internal const int QUARTER_BIT_ATI = 0x00000010; - internal const int QUERY = 0x82E3; - internal const uint QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; - internal const int QUERY_BUFFER = 0x9192; - internal const int QUERY_BUFFER_AMD = 0x9192; - internal const int QUERY_BUFFER_BARRIER_BIT = 0x00008000; - internal const int QUERY_BUFFER_BINDING = 0x9193; - internal const int QUERY_BUFFER_BINDING_AMD = 0x9193; - internal const int QUERY_BY_REGION_NO_WAIT = 0x8E16; - internal const int QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; - internal const int QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; - internal const int QUERY_BY_REGION_WAIT = 0x8E15; - internal const int QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; - internal const int QUERY_BY_REGION_WAIT_NV = 0x8E15; - internal const int QUERY_COUNTER_BITS = 0x8864; - internal const int QUERY_COUNTER_BITS_ARB = 0x8864; - internal const int QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; - internal const int QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; - internal const int QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; - internal const int QUERY_NO_WAIT = 0x8E14; - internal const int QUERY_NO_WAIT_INVERTED = 0x8E18; - internal const int QUERY_NO_WAIT_NV = 0x8E14; - internal const int QUERY_OBJECT_AMD = 0x9153; - internal const int QUERY_OBJECT_EXT = 0x9153; - internal const int QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; - internal const int QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; - internal const int QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; - internal const int QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; - internal const int QUERY_RESOURCE_TEXTURE_NV = 0x9545; - internal const int QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; - internal const int QUERY_RESULT = 0x8866; - internal const int QUERY_RESULT_ARB = 0x8866; - internal const int QUERY_RESULT_AVAILABLE = 0x8867; - internal const int QUERY_RESULT_AVAILABLE_ARB = 0x8867; - internal const int QUERY_RESULT_NO_WAIT = 0x9194; - internal const int QUERY_RESULT_NO_WAIT_AMD = 0x9194; - internal const int QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; - internal const int QUERY_TARGET = 0x82EA; - internal const int QUERY_WAIT = 0x8E13; - internal const int QUERY_WAIT_INVERTED = 0x8E17; - internal const int QUERY_WAIT_NV = 0x8E13; - internal const int R11F_G11F_B10F = 0x8C3A; - internal const int R11F_G11F_B10F_EXT = 0x8C3A; - internal const int R16 = 0x822A; - internal const int R16F = 0x822D; - internal const int R16F_EXT = 0x822D; - internal const int R16I = 0x8233; - internal const int R16UI = 0x8234; - internal const int R16_SNORM = 0x8F98; - internal const int R1UI_C3F_V3F_SUN = 0x85C6; - internal const int R1UI_C4F_N3F_V3F_SUN = 0x85C8; - internal const int R1UI_C4UB_V3F_SUN = 0x85C5; - internal const int R1UI_N3F_V3F_SUN = 0x85C7; - internal const int R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; - internal const int R1UI_T2F_N3F_V3F_SUN = 0x85CA; - internal const int R1UI_T2F_V3F_SUN = 0x85C9; - internal const int R1UI_V3F_SUN = 0x85C4; - internal const int R32F = 0x822E; - internal const int R32F_EXT = 0x822E; - internal const int R32I = 0x8235; - internal const int R32UI = 0x8236; - internal const int R3_G3_B2 = 0x2A10; - internal const int R8 = 0x8229; - internal const int R8I = 0x8231; - internal const int R8UI = 0x8232; - internal const int R8_EXT = 0x8229; - internal const int R8_SNORM = 0x8F94; - internal const int RASTERIZER_DISCARD = 0x8C89; - internal const int RASTERIZER_DISCARD_EXT = 0x8C89; - internal const int RASTERIZER_DISCARD_NV = 0x8C89; - internal const int RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; - internal const int RASTER_MULTISAMPLE_EXT = 0x9327; - internal const int RASTER_POSITION_UNCLIPPED_IBM = 0x19262; - internal const int RASTER_SAMPLES_EXT = 0x9328; - internal const int READ_BUFFER = 0x0C02; - internal const int READ_FRAMEBUFFER = 0x8CA8; - internal const int READ_FRAMEBUFFER_BINDING = 0x8CAA; - internal const int READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; - internal const int READ_FRAMEBUFFER_EXT = 0x8CA8; - internal const int READ_ONLY = 0x88B8; - internal const int READ_ONLY_ARB = 0x88B8; - internal const int READ_PIXELS = 0x828C; - internal const int READ_PIXELS_FORMAT = 0x828D; - internal const int READ_PIXELS_TYPE = 0x828E; - internal const int READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; - internal const int READ_PIXEL_DATA_RANGE_NV = 0x8879; - internal const int READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; - internal const int READ_WRITE = 0x88BA; - internal const int READ_WRITE_ARB = 0x88BA; - internal const int RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; - internal const int RECT_NV = 0xF6; - internal const int RED = 0x1903; - internal const int REDUCE_EXT = 0x8016; - internal const int RED_BIT_ATI = 0x00000001; - internal const int RED_INTEGER = 0x8D94; - internal const int RED_INTEGER_EXT = 0x8D94; - internal const int RED_MAX_CLAMP_INGR = 0x8564; - internal const int RED_MIN_CLAMP_INGR = 0x8560; - internal const int RED_NV = 0x1903; - internal const int RED_SNORM = 0x8F90; - internal const int REFERENCED_BY_COMPUTE_SHADER = 0x930B; - internal const int REFERENCED_BY_FRAGMENT_SHADER = 0x930A; - internal const int REFERENCED_BY_GEOMETRY_SHADER = 0x9309; - internal const int REFERENCED_BY_MESH_SHADER_NV = 0x95A0; - internal const int REFERENCED_BY_TASK_SHADER_NV = 0x95A1; - internal const int REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; - internal const int REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; - internal const int REFERENCED_BY_VERTEX_SHADER = 0x9306; - internal const int REFERENCE_PLANE_EQUATION_SGIX = 0x817E; - internal const int REFERENCE_PLANE_SGIX = 0x817D; - internal const int REFLECTION_MAP_ARB = 0x8512; - internal const int REFLECTION_MAP_EXT = 0x8512; - internal const int REFLECTION_MAP_NV = 0x8512; - internal const int REGISTER_COMBINERS_NV = 0x8522; - internal const int REG_0_ATI = 0x8921; - internal const int REG_10_ATI = 0x892B; - internal const int REG_11_ATI = 0x892C; - internal const int REG_12_ATI = 0x892D; - internal const int REG_13_ATI = 0x892E; - internal const int REG_14_ATI = 0x892F; - internal const int REG_15_ATI = 0x8930; - internal const int REG_16_ATI = 0x8931; - internal const int REG_17_ATI = 0x8932; - internal const int REG_18_ATI = 0x8933; - internal const int REG_19_ATI = 0x8934; - internal const int REG_1_ATI = 0x8922; - internal const int REG_20_ATI = 0x8935; - internal const int REG_21_ATI = 0x8936; - internal const int REG_22_ATI = 0x8937; - internal const int REG_23_ATI = 0x8938; - internal const int REG_24_ATI = 0x8939; - internal const int REG_25_ATI = 0x893A; - internal const int REG_26_ATI = 0x893B; - internal const int REG_27_ATI = 0x893C; - internal const int REG_28_ATI = 0x893D; - internal const int REG_29_ATI = 0x893E; - internal const int REG_2_ATI = 0x8923; - internal const int REG_30_ATI = 0x893F; - internal const int REG_31_ATI = 0x8940; - internal const int REG_3_ATI = 0x8924; - internal const int REG_4_ATI = 0x8925; - internal const int REG_5_ATI = 0x8926; - internal const int REG_6_ATI = 0x8927; - internal const int REG_7_ATI = 0x8928; - internal const int REG_8_ATI = 0x8929; - internal const int REG_9_ATI = 0x892A; - internal const int RELATIVE_ARC_TO_NV = 0xFF; - internal const int RELATIVE_CONIC_CURVE_TO_NV = 0x1B; - internal const int RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; - internal const int RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; - internal const int RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; - internal const int RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; - internal const int RELATIVE_LINE_TO_NV = 0x05; - internal const int RELATIVE_MOVE_TO_NV = 0x03; - internal const int RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; - internal const int RELATIVE_RECT_NV = 0xF7; - internal const int RELATIVE_ROUNDED_RECT2_NV = 0xEB; - internal const int RELATIVE_ROUNDED_RECT4_NV = 0xED; - internal const int RELATIVE_ROUNDED_RECT8_NV = 0xEF; - internal const int RELATIVE_ROUNDED_RECT_NV = 0xE9; - internal const int RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; - internal const int RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; - internal const int RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; - internal const int RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; - internal const int RELATIVE_VERTICAL_LINE_TO_NV = 0x09; - internal const int RELEASED_APPLE = 0x8A19; - internal const int RENDERBUFFER = 0x8D41; - internal const int RENDERBUFFER_ALPHA_SIZE = 0x8D53; - internal const int RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; - internal const int RENDERBUFFER_BINDING = 0x8CA7; - internal const int RENDERBUFFER_BINDING_EXT = 0x8CA7; - internal const int RENDERBUFFER_BLUE_SIZE = 0x8D52; - internal const int RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; - internal const int RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; - internal const int RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; - internal const int RENDERBUFFER_DEPTH_SIZE = 0x8D54; - internal const int RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; - internal const int RENDERBUFFER_EXT = 0x8D41; - internal const int RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; - internal const int RENDERBUFFER_GREEN_SIZE = 0x8D51; - internal const int RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; - internal const int RENDERBUFFER_HEIGHT = 0x8D43; - internal const int RENDERBUFFER_HEIGHT_EXT = 0x8D43; - internal const int RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; - internal const int RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; - internal const int RENDERBUFFER_RED_SIZE = 0x8D50; - internal const int RENDERBUFFER_RED_SIZE_EXT = 0x8D50; - internal const int RENDERBUFFER_SAMPLES = 0x8CAB; - internal const int RENDERBUFFER_SAMPLES_EXT = 0x8CAB; - internal const int RENDERBUFFER_STENCIL_SIZE = 0x8D55; - internal const int RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; - internal const int RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; - internal const int RENDERBUFFER_WIDTH = 0x8D42; - internal const int RENDERBUFFER_WIDTH_EXT = 0x8D42; - internal const int RENDERER = 0x1F01; - internal const int RENDER_GPU_MASK_NV = 0x9558; - internal const int REPEAT = 0x2901; - internal const int REPLACE = 0x1E01; - internal const int REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; - internal const int REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; - internal const int REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; - internal const int REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; - internal const int REPLACEMENT_CODE_SUN = 0x81D8; - internal const int REPLACE_EXT = 0x8062; - internal const int REPLACE_MIDDLE_SUN = 0x0002; - internal const int REPLACE_OLDEST_SUN = 0x0003; - internal const int REPLACE_VALUE_AMD = 0x874B; - internal const int REPLICATE_BORDER_HP = 0x8153; - internal const int REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; - internal const int RESAMPLE_AVERAGE_OML = 0x8988; - internal const int RESAMPLE_DECIMATE_OML = 0x8989; - internal const int RESAMPLE_DECIMATE_SGIX = 0x8430; - internal const int RESAMPLE_REPLICATE_OML = 0x8986; - internal const int RESAMPLE_REPLICATE_SGIX = 0x8433; - internal const int RESAMPLE_ZERO_FILL_OML = 0x8987; - internal const int RESAMPLE_ZERO_FILL_SGIX = 0x8434; - internal const int RESCALE_NORMAL_EXT = 0x803A; - internal const int RESET_NOTIFICATION_STRATEGY = 0x8256; - internal const int RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; - internal const int RESTART_PATH_NV = 0xF0; - internal const int RESTART_SUN = 0x0001; - internal const int RETAINED_APPLE = 0x8A1B; - internal const int RG = 0x8227; - internal const int RG16 = 0x822C; - internal const int RG16F = 0x822F; - internal const int RG16F_EXT = 0x822F; - internal const int RG16I = 0x8239; - internal const int RG16UI = 0x823A; - internal const int RG16_SNORM = 0x8F99; - internal const int RG32F = 0x8230; - internal const int RG32F_EXT = 0x8230; - internal const int RG32I = 0x823B; - internal const int RG32UI = 0x823C; - internal const int RG8 = 0x822B; - internal const int RG8I = 0x8237; - internal const int RG8UI = 0x8238; - internal const int RG8_EXT = 0x822B; - internal const int RG8_SNORM = 0x8F95; - internal const int RGB = 0x1907; - internal const int RGB10 = 0x8052; - internal const int RGB10_A2 = 0x8059; - internal const int RGB10_A2UI = 0x906F; - internal const int RGB10_A2_EXT = 0x8059; - internal const int RGB10_EXT = 0x8052; - internal const int RGB12 = 0x8053; - internal const int RGB12_EXT = 0x8053; - internal const int RGB16 = 0x8054; - internal const int RGB16F = 0x881B; - internal const int RGB16F_ARB = 0x881B; - internal const int RGB16F_EXT = 0x881B; - internal const int RGB16I = 0x8D89; - internal const int RGB16I_EXT = 0x8D89; - internal const int RGB16UI = 0x8D77; - internal const int RGB16UI_EXT = 0x8D77; - internal const int RGB16_EXT = 0x8054; - internal const int RGB16_SNORM = 0x8F9A; - internal const int RGB2_EXT = 0x804E; - internal const int RGB32F = 0x8815; - internal const int RGB32F_ARB = 0x8815; - internal const int RGB32F_EXT = 0x8815; - internal const int RGB32I = 0x8D83; - internal const int RGB32I_EXT = 0x8D83; - internal const int RGB32UI = 0x8D71; - internal const int RGB32UI_EXT = 0x8D71; - internal const int RGB4 = 0x804F; - internal const int RGB4_EXT = 0x804F; - internal const int RGB4_S3TC = 0x83A1; - internal const int RGB5 = 0x8050; - internal const int RGB565 = 0x8D62; - internal const int RGB5_A1 = 0x8057; - internal const int RGB5_A1_EXT = 0x8057; - internal const int RGB5_EXT = 0x8050; - internal const int RGB8 = 0x8051; - internal const int RGB8I = 0x8D8F; - internal const int RGB8I_EXT = 0x8D8F; - internal const int RGB8UI = 0x8D7D; - internal const int RGB8UI_EXT = 0x8D7D; - internal const int RGB8_EXT = 0x8051; - internal const int RGB8_SNORM = 0x8F96; - internal const int RGB9_E5 = 0x8C3D; - internal const int RGB9_E5_EXT = 0x8C3D; - internal const int RGBA = 0x1908; - internal const int RGBA12 = 0x805A; - internal const int RGBA12_EXT = 0x805A; - internal const int RGBA16 = 0x805B; - internal const int RGBA16F = 0x881A; - internal const int RGBA16F_ARB = 0x881A; - internal const int RGBA16F_EXT = 0x881A; - internal const int RGBA16I = 0x8D88; - internal const int RGBA16I_EXT = 0x8D88; - internal const int RGBA16UI = 0x8D76; - internal const int RGBA16UI_EXT = 0x8D76; - internal const int RGBA16_EXT = 0x805B; - internal const int RGBA16_SNORM = 0x8F9B; - internal const int RGBA2 = 0x8055; - internal const int RGBA2_EXT = 0x8055; - internal const int RGBA32F = 0x8814; - internal const int RGBA32F_ARB = 0x8814; - internal const int RGBA32F_EXT = 0x8814; - internal const int RGBA32I = 0x8D82; - internal const int RGBA32I_EXT = 0x8D82; - internal const int RGBA32UI = 0x8D70; - internal const int RGBA32UI_EXT = 0x8D70; - internal const int RGBA4 = 0x8056; - internal const int RGBA4_DXT5_S3TC = 0x83A5; - internal const int RGBA4_EXT = 0x8056; - internal const int RGBA4_S3TC = 0x83A3; - internal const int RGBA8 = 0x8058; - internal const int RGBA8I = 0x8D8E; - internal const int RGBA8I_EXT = 0x8D8E; - internal const int RGBA8UI = 0x8D7C; - internal const int RGBA8UI_EXT = 0x8D7C; - internal const int RGBA8_EXT = 0x8058; - internal const int RGBA8_SNORM = 0x8F97; - internal const int RGBA_DXT5_S3TC = 0x83A4; - internal const int RGBA_FLOAT16_APPLE = 0x881A; - internal const int RGBA_FLOAT16_ATI = 0x881A; - internal const int RGBA_FLOAT32_APPLE = 0x8814; - internal const int RGBA_FLOAT32_ATI = 0x8814; - internal const int RGBA_FLOAT_MODE_ARB = 0x8820; - internal const int RGBA_FLOAT_MODE_ATI = 0x8820; - internal const int RGBA_INTEGER = 0x8D99; - internal const int RGBA_INTEGER_EXT = 0x8D99; - internal const int RGBA_INTEGER_MODE_EXT = 0x8D9E; - internal const int RGBA_S3TC = 0x83A2; - internal const int RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; - internal const int RGBA_SNORM = 0x8F93; - internal const int RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; - internal const int RGB_422_APPLE = 0x8A1F; - internal const int RGB_FLOAT16_APPLE = 0x881B; - internal const int RGB_FLOAT16_ATI = 0x881B; - internal const int RGB_FLOAT32_APPLE = 0x8815; - internal const int RGB_FLOAT32_ATI = 0x8815; - internal const int RGB_INTEGER = 0x8D98; - internal const int RGB_INTEGER_EXT = 0x8D98; - internal const int RGB_RAW_422_APPLE = 0x8A51; - internal const int RGB_S3TC = 0x83A0; - internal const int RGB_SCALE_ARB = 0x8573; - internal const int RGB_SCALE_EXT = 0x8573; - internal const int RGB_SNORM = 0x8F92; - internal const int RG_INTEGER = 0x8228; - internal const int RG_SNORM = 0x8F91; - internal const int RIGHT = 0x0407; - internal const int ROUNDED_RECT2_NV = 0xEA; - internal const int ROUNDED_RECT4_NV = 0xEC; - internal const int ROUNDED_RECT8_NV = 0xEE; - internal const int ROUNDED_RECT_NV = 0xE8; - internal const int ROUND_NV = 0x90A4; - internal const int SAMPLER = 0x82E6; - internal const int SAMPLER_1D = 0x8B5D; - internal const int SAMPLER_1D_ARB = 0x8B5D; - internal const int SAMPLER_1D_ARRAY = 0x8DC0; - internal const int SAMPLER_1D_ARRAY_EXT = 0x8DC0; - internal const int SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; - internal const int SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; - internal const int SAMPLER_1D_SHADOW = 0x8B61; - internal const int SAMPLER_1D_SHADOW_ARB = 0x8B61; - internal const int SAMPLER_2D = 0x8B5E; - internal const int SAMPLER_2D_ARB = 0x8B5E; - internal const int SAMPLER_2D_ARRAY = 0x8DC1; - internal const int SAMPLER_2D_ARRAY_EXT = 0x8DC1; - internal const int SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; - internal const int SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; - internal const int SAMPLER_2D_MULTISAMPLE = 0x9108; - internal const int SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; - internal const int SAMPLER_2D_RECT = 0x8B63; - internal const int SAMPLER_2D_RECT_ARB = 0x8B63; - internal const int SAMPLER_2D_RECT_SHADOW = 0x8B64; - internal const int SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; - internal const int SAMPLER_2D_SHADOW = 0x8B62; - internal const int SAMPLER_2D_SHADOW_ARB = 0x8B62; - internal const int SAMPLER_3D = 0x8B5F; - internal const int SAMPLER_3D_ARB = 0x8B5F; - internal const int SAMPLER_BINDING = 0x8919; - internal const int SAMPLER_BUFFER = 0x8DC2; - internal const int SAMPLER_BUFFER_AMD = 0x9001; - internal const int SAMPLER_BUFFER_EXT = 0x8DC2; - internal const int SAMPLER_CUBE = 0x8B60; - internal const int SAMPLER_CUBE_ARB = 0x8B60; - internal const int SAMPLER_CUBE_MAP_ARRAY = 0x900C; - internal const int SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; - internal const int SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; - internal const int SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; - internal const int SAMPLER_CUBE_SHADOW = 0x8DC5; - internal const int SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; - internal const int SAMPLER_OBJECT_AMD = 0x9155; - internal const int SAMPLER_RENDERBUFFER_NV = 0x8E56; - internal const int SAMPLES = 0x80A9; - internal const int SAMPLES_3DFX = 0x86B4; - internal const int SAMPLES_ARB = 0x80A9; - internal const int SAMPLES_EXT = 0x80A9; - internal const int SAMPLES_PASSED = 0x8914; - internal const int SAMPLES_PASSED_ARB = 0x8914; - internal const int SAMPLES_SGIS = 0x80A9; - internal const int SAMPLE_ALPHA_TO_COVERAGE = 0x809E; - internal const int SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; - internal const int SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; - internal const int SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; - internal const int SAMPLE_ALPHA_TO_ONE = 0x809F; - internal const int SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; - internal const int SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; - internal const int SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; - internal const int SAMPLE_BUFFERS = 0x80A8; - internal const int SAMPLE_BUFFERS_3DFX = 0x86B3; - internal const int SAMPLE_BUFFERS_ARB = 0x80A8; - internal const int SAMPLE_BUFFERS_EXT = 0x80A8; - internal const int SAMPLE_BUFFERS_SGIS = 0x80A8; - internal const int SAMPLE_COVERAGE = 0x80A0; - internal const int SAMPLE_COVERAGE_ARB = 0x80A0; - internal const int SAMPLE_COVERAGE_INVERT = 0x80AB; - internal const int SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; - internal const int SAMPLE_COVERAGE_VALUE = 0x80AA; - internal const int SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; - internal const int SAMPLE_LOCATION_ARB = 0x8E50; - internal const int SAMPLE_LOCATION_NV = 0x8E50; - internal const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; - internal const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; - internal const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; - internal const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; - internal const int SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; - internal const int SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; - internal const int SAMPLE_MASK = 0x8E51; - internal const int SAMPLE_MASK_EXT = 0x80A0; - internal const int SAMPLE_MASK_INVERT_EXT = 0x80AB; - internal const int SAMPLE_MASK_INVERT_SGIS = 0x80AB; - internal const int SAMPLE_MASK_NV = 0x8E51; - internal const int SAMPLE_MASK_SGIS = 0x80A0; - internal const int SAMPLE_MASK_VALUE = 0x8E52; - internal const int SAMPLE_MASK_VALUE_EXT = 0x80AA; - internal const int SAMPLE_MASK_VALUE_NV = 0x8E52; - internal const int SAMPLE_MASK_VALUE_SGIS = 0x80AA; - internal const int SAMPLE_PATTERN_EXT = 0x80AC; - internal const int SAMPLE_PATTERN_SGIS = 0x80AC; - internal const int SAMPLE_POSITION = 0x8E50; - internal const int SAMPLE_POSITION_NV = 0x8E50; - internal const int SAMPLE_SHADING = 0x8C36; - internal const int SAMPLE_SHADING_ARB = 0x8C36; - internal const int SATURATE_BIT_ATI = 0x00000040; - internal const int SCALAR_EXT = 0x87BE; - internal const int SCALEBIAS_HINT_SGIX = 0x8322; - internal const int SCALED_RESOLVE_FASTEST_EXT = 0x90BA; - internal const int SCALED_RESOLVE_NICEST_EXT = 0x90BB; - internal const int SCALE_BY_FOUR_NV = 0x853F; - internal const int SCALE_BY_ONE_HALF_NV = 0x8540; - internal const int SCALE_BY_TWO_NV = 0x853E; - internal const int SCISSOR_BOX = 0x0C10; - internal const int SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; - internal const int SCISSOR_COMMAND_NV = 0x0011; - internal const int SCISSOR_TEST = 0x0C11; - internal const int SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; - internal const int SCREEN_COORDINATES_REND = 0x8490; - internal const int SCREEN_KHR = 0x9295; - internal const int SCREEN_NV = 0x9295; - internal const int SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; - internal const int SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; - internal const int SECONDARY_COLOR_ARRAY_EXT = 0x845E; - internal const int SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; - internal const int SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; - internal const int SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; - internal const int SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; - internal const int SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; - internal const int SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; - internal const int SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; - internal const int SECONDARY_COLOR_NV = 0x852D; - internal const int SECONDARY_INTERPOLATOR_ATI = 0x896D; - internal const int SEMAPHORE_TYPE_BINARY_NV = 0x95B4; - internal const int SEMAPHORE_TYPE_NV = 0x95B3; - internal const int SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; - internal const int SEPARABLE_2D_EXT = 0x8012; - internal const int SEPARATE_ATTRIBS = 0x8C8D; - internal const int SEPARATE_ATTRIBS_EXT = 0x8C8D; - internal const int SEPARATE_ATTRIBS_NV = 0x8C8D; - internal const int SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; - internal const int SET = 0x150F; - internal const int SET_AMD = 0x874A; - internal const int SHADER = 0x82E1; - internal const int SHADER_BINARY_FORMATS = 0x8DF8; - internal const int SHADER_BINARY_FORMAT_SPIR_V = 0x9551; - internal const int SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; - internal const int SHADER_COMPILER = 0x8DFA; - internal const int SHADER_CONSISTENT_NV = 0x86DD; - internal const int SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; - internal const int SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; - internal const int SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; - internal const int SHADER_IMAGE_ATOMIC = 0x82A6; - internal const int SHADER_IMAGE_LOAD = 0x82A4; - internal const int SHADER_IMAGE_STORE = 0x82A5; - internal const int SHADER_INCLUDE_ARB = 0x8DAE; - internal const int SHADER_OBJECT_ARB = 0x8B48; - internal const int SHADER_OBJECT_EXT = 0x8B48; - internal const int SHADER_OPERATION_NV = 0x86DF; - internal const int SHADER_SOURCE_LENGTH = 0x8B88; - internal const int SHADER_STORAGE_BARRIER_BIT = 0x00002000; - internal const int SHADER_STORAGE_BLOCK = 0x92E6; - internal const int SHADER_STORAGE_BUFFER = 0x90D2; - internal const int SHADER_STORAGE_BUFFER_BINDING = 0x90D3; - internal const int SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; - internal const int SHADER_STORAGE_BUFFER_SIZE = 0x90D5; - internal const int SHADER_STORAGE_BUFFER_START = 0x90D4; - internal const int SHADER_TYPE = 0x8B4F; - internal const int SHADING_LANGUAGE_VERSION = 0x8B8C; - internal const int SHADING_LANGUAGE_VERSION_ARB = 0x8B8C; - internal const int SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; - internal const int SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; - internal const int SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; - internal const int SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; - internal const int SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; - internal const int SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; - internal const int SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; - internal const int SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; - internal const int SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; - internal const int SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; - internal const int SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; - internal const int SHADING_RATE_IMAGE_BINDING_NV = 0x955B; - internal const int SHADING_RATE_IMAGE_NV = 0x9563; - internal const int SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; - internal const int SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; - internal const int SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; - internal const int SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; - internal const int SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; - internal const int SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; - internal const int SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; - internal const int SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; - internal const int SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; - internal const int SHADOW_AMBIENT_SGIX = 0x80BF; - internal const int SHADOW_ATTENUATION_EXT = 0x834E; - internal const int SHARED_EDGE_NV = 0xC0; - internal const int SHARED_TEXTURE_PALETTE_EXT = 0x81FB; - internal const int SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; - internal const int SHORT = 0x1402; - internal const int SIGNALED = 0x9119; - internal const int SIGNED_ALPHA8_NV = 0x8706; - internal const int SIGNED_ALPHA_NV = 0x8705; - internal const int SIGNED_HILO16_NV = 0x86FA; - internal const int SIGNED_HILO8_NV = 0x885F; - internal const int SIGNED_HILO_NV = 0x86F9; - internal const int SIGNED_IDENTITY_NV = 0x853C; - internal const int SIGNED_INTENSITY8_NV = 0x8708; - internal const int SIGNED_INTENSITY_NV = 0x8707; - internal const int SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; - internal const int SIGNED_LUMINANCE8_NV = 0x8702; - internal const int SIGNED_LUMINANCE_ALPHA_NV = 0x8703; - internal const int SIGNED_LUMINANCE_NV = 0x8701; - internal const int SIGNED_NEGATE_NV = 0x853D; - internal const int SIGNED_NORMALIZED = 0x8F9C; - internal const int SIGNED_RGB8_NV = 0x86FF; - internal const int SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; - internal const int SIGNED_RGBA8_NV = 0x86FC; - internal const int SIGNED_RGBA_NV = 0x86FB; - internal const int SIGNED_RGB_NV = 0x86FE; - internal const int SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; - internal const int SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; - internal const int SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; - internal const int SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; - internal const int SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; - internal const int SINGLE_COLOR_EXT = 0x81F9; - internal const int SKIP_COMPONENTS1_NV = -6; - internal const int SKIP_COMPONENTS2_NV = -5; - internal const int SKIP_COMPONENTS3_NV = -4; - internal const int SKIP_COMPONENTS4_NV = -3; - internal const int SKIP_DECODE_EXT = 0x8A4A; - internal const int SKIP_MISSING_GLYPH_NV = 0x90A9; - internal const int SLICE_ACCUM_SUN = 0x85CC; - internal const int SLUMINANCE8_ALPHA8_EXT = 0x8C45; - internal const int SLUMINANCE8_EXT = 0x8C47; - internal const int SLUMINANCE_ALPHA_EXT = 0x8C44; - internal const int SLUMINANCE_EXT = 0x8C46; - internal const int SMALL_CCW_ARC_TO_NV = 0x12; - internal const int SMALL_CW_ARC_TO_NV = 0x14; - internal const int SMOOTH_CUBIC_CURVE_TO_NV = 0x10; - internal const int SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; - internal const int SMOOTH_LINE_WIDTH_RANGE = 0x0B22; - internal const int SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; - internal const int SMOOTH_POINT_SIZE_RANGE = 0x0B12; - internal const int SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; - internal const int SM_COUNT_NV = 0x933B; - internal const int SOFTLIGHT_KHR = 0x929C; - internal const int SOFTLIGHT_NV = 0x929C; - internal const int SOURCE0_ALPHA_ARB = 0x8588; - internal const int SOURCE0_ALPHA_EXT = 0x8588; - internal const int SOURCE0_RGB_ARB = 0x8580; - internal const int SOURCE0_RGB_EXT = 0x8580; - internal const int SOURCE1_ALPHA = 0x8589; - internal const int SOURCE1_ALPHA_ARB = 0x8589; - internal const int SOURCE1_ALPHA_EXT = 0x8589; - internal const int SOURCE1_RGB_ARB = 0x8581; - internal const int SOURCE1_RGB_EXT = 0x8581; - internal const int SOURCE2_ALPHA_ARB = 0x858A; - internal const int SOURCE2_ALPHA_EXT = 0x858A; - internal const int SOURCE2_RGB_ARB = 0x8582; - internal const int SOURCE2_RGB_EXT = 0x8582; - internal const int SOURCE3_ALPHA_NV = 0x858B; - internal const int SOURCE3_RGB_NV = 0x8583; - internal const int SPARE0_NV = 0x852E; - internal const int SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; - internal const int SPARE1_NV = 0x852F; - internal const int SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; - internal const int SPARSE_STORAGE_BIT_ARB = 0x0400; - internal const int SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; - internal const int SPIR_V_BINARY = 0x9552; - internal const int SPIR_V_BINARY_ARB = 0x9552; - internal const int SPIR_V_EXTENSIONS = 0x9553; - internal const int SPRITE_AXIAL_SGIX = 0x814C; - internal const int SPRITE_AXIS_SGIX = 0x814A; - internal const int SPRITE_EYE_ALIGNED_SGIX = 0x814E; - internal const int SPRITE_MODE_SGIX = 0x8149; - internal const int SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; - internal const int SPRITE_SGIX = 0x8148; - internal const int SPRITE_TRANSLATION_SGIX = 0x814B; - internal const int SQUARE_NV = 0x90A3; - internal const int SR8_EXT = 0x8FBD; - internal const int SRC1_ALPHA = 0x8589; - internal const int SRC1_COLOR = 0x88F9; - internal const int SRC_ALPHA = 0x0302; - internal const int SRC_ALPHA_SATURATE = 0x0308; - internal const int SRC_ATOP_NV = 0x928E; - internal const int SRC_COLOR = 0x0300; - internal const int SRC_IN_NV = 0x928A; - internal const int SRC_NV = 0x9286; - internal const int SRC_OUT_NV = 0x928C; - internal const int SRC_OVER_NV = 0x9288; - internal const int SRG8_EXT = 0x8FBE; - internal const int SRGB = 0x8C40; - internal const int SRGB8 = 0x8C41; - internal const int SRGB8_ALPHA8 = 0x8C43; - internal const int SRGB8_ALPHA8_EXT = 0x8C43; - internal const int SRGB8_EXT = 0x8C41; - internal const int SRGB_ALPHA = 0x8C42; - internal const int SRGB_ALPHA_EXT = 0x8C42; - internal const int SRGB_DECODE_ARB = 0x8299; - internal const int SRGB_EXT = 0x8C40; - internal const int SRGB_READ = 0x8297; - internal const int SRGB_WRITE = 0x8298; - internal const int STACK_OVERFLOW = 0x0503; - internal const int STACK_UNDERFLOW = 0x0504; - internal const int STANDARD_FONT_FORMAT_NV = 0x936C; - internal const int STANDARD_FONT_NAME_NV = 0x9072; - internal const int STATIC_ATI = 0x8760; - internal const int STATIC_COPY = 0x88E6; - internal const int STATIC_COPY_ARB = 0x88E6; - internal const int STATIC_DRAW = 0x88E4; - internal const int STATIC_DRAW_ARB = 0x88E4; - internal const int STATIC_READ = 0x88E5; - internal const int STATIC_READ_ARB = 0x88E5; - internal const int STATIC_VERTEX_ARRAY_IBM = 103061; - internal const int STENCIL = 0x1802; - internal const int STENCIL_ATTACHMENT = 0x8D20; - internal const int STENCIL_ATTACHMENT_EXT = 0x8D20; - internal const int STENCIL_BACK_FAIL = 0x8801; - internal const int STENCIL_BACK_FAIL_ATI = 0x8801; - internal const int STENCIL_BACK_FUNC = 0x8800; - internal const int STENCIL_BACK_FUNC_ATI = 0x8800; - internal const int STENCIL_BACK_OP_VALUE_AMD = 0x874D; - internal const int STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; - internal const int STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; - internal const int STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; - internal const int STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; - internal const int STENCIL_BACK_REF = 0x8CA3; - internal const int STENCIL_BACK_VALUE_MASK = 0x8CA4; - internal const int STENCIL_BACK_WRITEMASK = 0x8CA5; - internal const int STENCIL_BUFFER_BIT = 0x00000400; - internal const int STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; - internal const int STENCIL_CLEAR_VALUE = 0x0B91; - internal const int STENCIL_COMPONENTS = 0x8285; - internal const int STENCIL_FAIL = 0x0B94; - internal const int STENCIL_FUNC = 0x0B92; - internal const int STENCIL_INDEX = 0x1901; - internal const int STENCIL_INDEX1 = 0x8D46; - internal const int STENCIL_INDEX16 = 0x8D49; - internal const int STENCIL_INDEX16_EXT = 0x8D49; - internal const int STENCIL_INDEX1_EXT = 0x8D46; - internal const int STENCIL_INDEX4 = 0x8D47; - internal const int STENCIL_INDEX4_EXT = 0x8D47; - internal const int STENCIL_INDEX8 = 0x8D48; - internal const int STENCIL_INDEX8_EXT = 0x8D48; - internal const int STENCIL_OP_VALUE_AMD = 0x874C; - internal const int STENCIL_PASS_DEPTH_FAIL = 0x0B95; - internal const int STENCIL_PASS_DEPTH_PASS = 0x0B96; - internal const int STENCIL_REF = 0x0B97; - internal const int STENCIL_REF_COMMAND_NV = 0x000C; - internal const int STENCIL_RENDERABLE = 0x8288; - internal const int STENCIL_SAMPLES_NV = 0x932E; - internal const int STENCIL_TAG_BITS_EXT = 0x88F2; - internal const int STENCIL_TEST = 0x0B90; - internal const int STENCIL_TEST_TWO_SIDE_EXT = 0x8910; - internal const int STENCIL_VALUE_MASK = 0x0B93; - internal const int STENCIL_WRITEMASK = 0x0B98; - internal const int STEREO = 0x0C33; - internal const int STORAGE_CACHED_APPLE = 0x85BE; - internal const int STORAGE_CLIENT_APPLE = 0x85B4; - internal const int STORAGE_PRIVATE_APPLE = 0x85BD; - internal const int STORAGE_SHARED_APPLE = 0x85BF; - internal const int STREAM_COPY = 0x88E2; - internal const int STREAM_COPY_ARB = 0x88E2; - internal const int STREAM_DRAW = 0x88E0; - internal const int STREAM_DRAW_ARB = 0x88E0; - internal const int STREAM_RASTERIZATION_AMD = 0x91A0; - internal const int STREAM_READ = 0x88E1; - internal const int STREAM_READ_ARB = 0x88E1; - internal const int STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; - internal const int STRICT_LIGHTING_HINT_PGI = 0x1A217; - internal const int STRICT_SCISSOR_HINT_PGI = 0x1A218; - internal const int SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; - internal const int SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; - internal const int SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; - internal const int SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; - internal const int SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; - internal const int SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; - internal const int SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; - internal const int SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; - internal const int SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; - internal const int SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; - internal const int SUBGROUP_SIZE_KHR = 0x9532; - internal const int SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; - internal const int SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; - internal const int SUBPIXEL_BITS = 0x0D50; - internal const int SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; - internal const int SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; - internal const int SUBSAMPLE_DISTANCE_AMD = 0x883F; - internal const int SUBTRACT_ARB = 0x84E7; - internal const int SUB_ATI = 0x8965; - internal const int SUCCESS_NV = 0x902F; - internal const int SUPERSAMPLE_SCALE_X_NV = 0x9372; - internal const int SUPERSAMPLE_SCALE_Y_NV = 0x9373; - internal const int SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; - internal const int SURFACE_MAPPED_NV = 0x8700; - internal const int SURFACE_REGISTERED_NV = 0x86FD; - internal const int SURFACE_STATE_NV = 0x86EB; - internal const int SWIZZLE_STQ_ATI = 0x8977; - internal const int SWIZZLE_STQ_DQ_ATI = 0x8979; - internal const int SWIZZLE_STRQ_ATI = 0x897A; - internal const int SWIZZLE_STRQ_DQ_ATI = 0x897B; - internal const int SWIZZLE_STR_ATI = 0x8976; - internal const int SWIZZLE_STR_DR_ATI = 0x8978; - internal const int SYNC_CL_EVENT_ARB = 0x8240; - internal const int SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; - internal const int SYNC_CONDITION = 0x9113; - internal const int SYNC_FENCE = 0x9116; - internal const int SYNC_FLAGS = 0x9115; - internal const int SYNC_FLUSH_COMMANDS_BIT = 0x00000001; - internal const int SYNC_GPU_COMMANDS_COMPLETE = 0x9117; - internal const int SYNC_STATUS = 0x9114; - internal const int SYNC_X11_FENCE_EXT = 0x90E1; - internal const int SYSTEM_FONT_NAME_NV = 0x9073; - internal const int T2F_IUI_N3F_V2F_EXT = 0x81B3; - internal const int T2F_IUI_N3F_V3F_EXT = 0x81B4; - internal const int T2F_IUI_V2F_EXT = 0x81B1; - internal const int T2F_IUI_V3F_EXT = 0x81B2; - internal const int TABLE_TOO_LARGE_EXT = 0x8031; - internal const int TANGENT_ARRAY_EXT = 0x8439; - internal const int TANGENT_ARRAY_POINTER_EXT = 0x8442; - internal const int TANGENT_ARRAY_STRIDE_EXT = 0x843F; - internal const int TANGENT_ARRAY_TYPE_EXT = 0x843E; - internal const int TASK_SHADER_BIT_NV = 0x00000080; - internal const int TASK_SHADER_NV = 0x955A; - internal const int TASK_SUBROUTINE_NV = 0x957D; - internal const int TASK_SUBROUTINE_UNIFORM_NV = 0x957F; - internal const int TASK_WORK_GROUP_SIZE_NV = 0x953F; - internal const int TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; - internal const int TESSELLATION_FACTOR_AMD = 0x9005; - internal const int TESSELLATION_MODE_AMD = 0x9004; - internal const int TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; - internal const int TESS_CONTROL_PROGRAM_NV = 0x891E; - internal const int TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; - internal const int TESS_CONTROL_SHADER = 0x8E88; - internal const int TESS_CONTROL_SHADER_BIT = 0x00000008; - internal const int TESS_CONTROL_SHADER_PATCHES = 0x82F1; - internal const int TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; - internal const int TESS_CONTROL_SUBROUTINE = 0x92E9; - internal const int TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; - internal const int TESS_CONTROL_TEXTURE = 0x829C; - internal const int TESS_EVALUATION_PROGRAM_NV = 0x891F; - internal const int TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; - internal const int TESS_EVALUATION_SHADER = 0x8E87; - internal const int TESS_EVALUATION_SHADER_BIT = 0x00000010; - internal const int TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2; - internal const int TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; - internal const int TESS_EVALUATION_SUBROUTINE = 0x92EA; - internal const int TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; - internal const int TESS_EVALUATION_TEXTURE = 0x829D; - internal const int TESS_GEN_MODE = 0x8E76; - internal const int TESS_GEN_POINT_MODE = 0x8E79; - internal const int TESS_GEN_SPACING = 0x8E77; - internal const int TESS_GEN_VERTEX_ORDER = 0x8E78; - internal const int TEXCOORD1_BIT_PGI = 0x10000000; - internal const int TEXCOORD2_BIT_PGI = 0x20000000; - internal const int TEXCOORD3_BIT_PGI = 0x40000000; - internal const uint TEXCOORD4_BIT_PGI = 0x80000000; - internal const int TEXTURE = 0x1702; - internal const int TEXTURE0 = 0x84C0; - internal const int TEXTURE0_ARB = 0x84C0; - internal const int TEXTURE1 = 0x84C1; - internal const int TEXTURE10 = 0x84CA; - internal const int TEXTURE10_ARB = 0x84CA; - internal const int TEXTURE11 = 0x84CB; - internal const int TEXTURE11_ARB = 0x84CB; - internal const int TEXTURE12 = 0x84CC; - internal const int TEXTURE12_ARB = 0x84CC; - internal const int TEXTURE13 = 0x84CD; - internal const int TEXTURE13_ARB = 0x84CD; - internal const int TEXTURE14 = 0x84CE; - internal const int TEXTURE14_ARB = 0x84CE; - internal const int TEXTURE15 = 0x84CF; - internal const int TEXTURE15_ARB = 0x84CF; - internal const int TEXTURE16 = 0x84D0; - internal const int TEXTURE16_ARB = 0x84D0; - internal const int TEXTURE17 = 0x84D1; - internal const int TEXTURE17_ARB = 0x84D1; - internal const int TEXTURE18 = 0x84D2; - internal const int TEXTURE18_ARB = 0x84D2; - internal const int TEXTURE19 = 0x84D3; - internal const int TEXTURE19_ARB = 0x84D3; - internal const int TEXTURE1_ARB = 0x84C1; - internal const int TEXTURE2 = 0x84C2; - internal const int TEXTURE20 = 0x84D4; - internal const int TEXTURE20_ARB = 0x84D4; - internal const int TEXTURE21 = 0x84D5; - internal const int TEXTURE21_ARB = 0x84D5; - internal const int TEXTURE22 = 0x84D6; - internal const int TEXTURE22_ARB = 0x84D6; - internal const int TEXTURE23 = 0x84D7; - internal const int TEXTURE23_ARB = 0x84D7; - internal const int TEXTURE24 = 0x84D8; - internal const int TEXTURE24_ARB = 0x84D8; - internal const int TEXTURE25 = 0x84D9; - internal const int TEXTURE25_ARB = 0x84D9; - internal const int TEXTURE26 = 0x84DA; - internal const int TEXTURE26_ARB = 0x84DA; - internal const int TEXTURE27 = 0x84DB; - internal const int TEXTURE27_ARB = 0x84DB; - internal const int TEXTURE28 = 0x84DC; - internal const int TEXTURE28_ARB = 0x84DC; - internal const int TEXTURE29 = 0x84DD; - internal const int TEXTURE29_ARB = 0x84DD; - internal const int TEXTURE2_ARB = 0x84C2; - internal const int TEXTURE3 = 0x84C3; - internal const int TEXTURE30 = 0x84DE; - internal const int TEXTURE30_ARB = 0x84DE; - internal const int TEXTURE31 = 0x84DF; - internal const int TEXTURE31_ARB = 0x84DF; - internal const int TEXTURE3_ARB = 0x84C3; - internal const int TEXTURE4 = 0x84C4; - internal const int TEXTURE4_ARB = 0x84C4; - internal const int TEXTURE5 = 0x84C5; - internal const int TEXTURE5_ARB = 0x84C5; - internal const int TEXTURE6 = 0x84C6; - internal const int TEXTURE6_ARB = 0x84C6; - internal const int TEXTURE7 = 0x84C7; - internal const int TEXTURE7_ARB = 0x84C7; - internal const int TEXTURE8 = 0x84C8; - internal const int TEXTURE8_ARB = 0x84C8; - internal const int TEXTURE9 = 0x84C9; - internal const int TEXTURE9_ARB = 0x84C9; - internal const int TEXTURE_1D = 0x0DE0; - internal const int TEXTURE_1D_ARRAY = 0x8C18; - internal const int TEXTURE_1D_ARRAY_EXT = 0x8C18; - internal const int TEXTURE_1D_BINDING_EXT = 0x8068; - internal const int TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; - internal const int TEXTURE_1D_STACK_MESAX = 0x8759; - internal const int TEXTURE_2D = 0x0DE1; - internal const int TEXTURE_2D_ARRAY = 0x8C1A; - internal const int TEXTURE_2D_ARRAY_EXT = 0x8C1A; - internal const int TEXTURE_2D_BINDING_EXT = 0x8069; - internal const int TEXTURE_2D_MULTISAMPLE = 0x9100; - internal const int TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; - internal const int TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; - internal const int TEXTURE_2D_STACK_MESAX = 0x875A; - internal const int TEXTURE_3D = 0x806F; - internal const int TEXTURE_3D_BINDING_EXT = 0x806A; - internal const int TEXTURE_3D_EXT = 0x806F; - internal const int TEXTURE_4DSIZE_SGIS = 0x8136; - internal const int TEXTURE_4D_BINDING_SGIS = 0x814F; - internal const int TEXTURE_4D_SGIS = 0x8134; - internal const int TEXTURE_ALPHA_SIZE = 0x805F; - internal const int TEXTURE_ALPHA_SIZE_EXT = 0x805F; - internal const int TEXTURE_ALPHA_TYPE = 0x8C13; - internal const int TEXTURE_ALPHA_TYPE_ARB = 0x8C13; - internal const int TEXTURE_APPLICATION_MODE_EXT = 0x834F; - internal const int TEXTURE_BASE_LEVEL = 0x813C; - internal const int TEXTURE_BASE_LEVEL_SGIS = 0x813C; - internal const int TEXTURE_BINDING_1D = 0x8068; - internal const int TEXTURE_BINDING_1D_ARRAY = 0x8C1C; - internal const int TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; - internal const int TEXTURE_BINDING_2D = 0x8069; - internal const int TEXTURE_BINDING_2D_ARRAY = 0x8C1D; - internal const int TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; - internal const int TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; - internal const int TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; - internal const int TEXTURE_BINDING_3D = 0x806A; - internal const int TEXTURE_BINDING_BUFFER = 0x8C2C; - internal const int TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; - internal const int TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; - internal const int TEXTURE_BINDING_CUBE_MAP = 0x8514; - internal const int TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; - internal const int TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; - internal const int TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; - internal const int TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; - internal const int TEXTURE_BINDING_RECTANGLE = 0x84F6; - internal const int TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; - internal const int TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; - internal const int TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; - internal const int TEXTURE_BLUE_SIZE = 0x805E; - internal const int TEXTURE_BLUE_SIZE_EXT = 0x805E; - internal const int TEXTURE_BLUE_TYPE = 0x8C12; - internal const int TEXTURE_BLUE_TYPE_ARB = 0x8C12; - internal const int TEXTURE_BORDER_COLOR = 0x1004; - internal const int TEXTURE_BORDER_VALUES_NV = 0x871A; - internal const int TEXTURE_BUFFER = 0x8C2A; - internal const int TEXTURE_BUFFER_ARB = 0x8C2A; - internal const int TEXTURE_BUFFER_BINDING = 0x8C2A; - internal const int TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; - internal const int TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; - internal const int TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; - internal const int TEXTURE_BUFFER_EXT = 0x8C2A; - internal const int TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; - internal const int TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; - internal const int TEXTURE_BUFFER_OFFSET = 0x919D; - internal const int TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; - internal const int TEXTURE_BUFFER_SIZE = 0x919E; - internal const int TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; - internal const int TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; - internal const int TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; - internal const int TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; - internal const int TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; - internal const int TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; - internal const int TEXTURE_COLOR_SAMPLES_NV = 0x9046; - internal const int TEXTURE_COLOR_TABLE_SGI = 0x80BC; - internal const int TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; - internal const int TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; - internal const int TEXTURE_COMPARE_FUNC = 0x884D; - internal const int TEXTURE_COMPARE_FUNC_ARB = 0x884D; - internal const int TEXTURE_COMPARE_MODE = 0x884C; - internal const int TEXTURE_COMPARE_MODE_ARB = 0x884C; - internal const int TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; - internal const int TEXTURE_COMPARE_SGIX = 0x819A; - internal const int TEXTURE_COMPRESSED = 0x86A1; - internal const int TEXTURE_COMPRESSED_ARB = 0x86A1; - internal const int TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; - internal const int TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; - internal const int TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; - internal const int TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; - internal const int TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; - internal const int TEXTURE_COMPRESSION_HINT = 0x84EF; - internal const int TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; - internal const int TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; - internal const int TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; - internal const int TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; - internal const int TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; - internal const int TEXTURE_COORD_ARRAY_EXT = 0x8078; - internal const int TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; - internal const int TEXTURE_COORD_ARRAY_LIST_IBM = 103074; - internal const int TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; - internal const int TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; - internal const int TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; - internal const int TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; - internal const int TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; - internal const int TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; - internal const int TEXTURE_COORD_NV = 0x8C79; - internal const int TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; - internal const int TEXTURE_CUBE_MAP = 0x8513; - internal const int TEXTURE_CUBE_MAP_ARB = 0x8513; - internal const int TEXTURE_CUBE_MAP_ARRAY = 0x9009; - internal const int TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; - internal const int TEXTURE_CUBE_MAP_EXT = 0x8513; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; - internal const int TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; - internal const int TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; - internal const int TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; - internal const int TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; - internal const int TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; - internal const int TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; - internal const int TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; - internal const int TEXTURE_DEFORMATION_SGIX = 0x8195; - internal const int TEXTURE_DEPTH = 0x8071; - internal const int TEXTURE_DEPTH_EXT = 0x8071; - internal const int TEXTURE_DEPTH_SIZE = 0x884A; - internal const int TEXTURE_DEPTH_SIZE_ARB = 0x884A; - internal const int TEXTURE_DEPTH_TYPE = 0x8C16; - internal const int TEXTURE_DEPTH_TYPE_ARB = 0x8C16; - internal const int TEXTURE_DS_SIZE_NV = 0x871D; - internal const int TEXTURE_DT_SIZE_NV = 0x871E; - internal const int TEXTURE_ENV_BIAS_SGIX = 0x80BE; - internal const int TEXTURE_FETCH_BARRIER_BIT = 0x00000008; - internal const int TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; - internal const int TEXTURE_FILTER4_SIZE_SGIS = 0x8147; - internal const int TEXTURE_FILTER_CONTROL_EXT = 0x8500; - internal const int TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; - internal const int TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; - internal const int TEXTURE_FREE_MEMORY_ATI = 0x87FC; - internal const int TEXTURE_GATHER = 0x82A2; - internal const int TEXTURE_GATHER_SHADOW = 0x82A3; - internal const int TEXTURE_GEQUAL_R_SGIX = 0x819D; - internal const int TEXTURE_GREEN_SIZE = 0x805D; - internal const int TEXTURE_GREEN_SIZE_EXT = 0x805D; - internal const int TEXTURE_GREEN_TYPE = 0x8C11; - internal const int TEXTURE_GREEN_TYPE_ARB = 0x8C11; - internal const int TEXTURE_HEIGHT = 0x1001; - internal const int TEXTURE_HI_SIZE_NV = 0x871B; - internal const int TEXTURE_IMAGE_FORMAT = 0x828F; - internal const int TEXTURE_IMAGE_TYPE = 0x8290; - internal const int TEXTURE_IMMUTABLE_FORMAT = 0x912F; - internal const int TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; - internal const int TEXTURE_IMMUTABLE_LEVELS = 0x82DF; - internal const int TEXTURE_INDEX_SIZE_EXT = 0x80ED; - internal const int TEXTURE_INTENSITY_SIZE_EXT = 0x8061; - internal const int TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; - internal const int TEXTURE_INTERNAL_FORMAT = 0x1003; - internal const int TEXTURE_LEQUAL_R_SGIX = 0x819C; - internal const int TEXTURE_LIGHTING_MODE_HP = 0x8167; - internal const int TEXTURE_LIGHT_EXT = 0x8350; - internal const int TEXTURE_LOD_BIAS = 0x8501; - internal const int TEXTURE_LOD_BIAS_EXT = 0x8501; - internal const int TEXTURE_LOD_BIAS_R_SGIX = 0x8190; - internal const int TEXTURE_LOD_BIAS_S_SGIX = 0x818E; - internal const int TEXTURE_LOD_BIAS_T_SGIX = 0x818F; - internal const int TEXTURE_LO_SIZE_NV = 0x871C; - internal const int TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; - internal const int TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; - internal const int TEXTURE_MAG_FILTER = 0x2800; - internal const int TEXTURE_MAG_SIZE_NV = 0x871F; - internal const int TEXTURE_MATERIAL_FACE_EXT = 0x8351; - internal const int TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; - internal const int TEXTURE_MAX_ANISOTROPY = 0x84FE; - internal const int TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - internal const int TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; - internal const int TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; - internal const int TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; - internal const int TEXTURE_MAX_LEVEL = 0x813D; - internal const int TEXTURE_MAX_LEVEL_SGIS = 0x813D; - internal const int TEXTURE_MAX_LOD = 0x813B; - internal const int TEXTURE_MAX_LOD_SGIS = 0x813B; - internal const int TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; - internal const int TEXTURE_MIN_FILTER = 0x2801; - internal const int TEXTURE_MIN_LOD = 0x813A; - internal const int TEXTURE_MIN_LOD_SGIS = 0x813A; - internal const int TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; - internal const int TEXTURE_NORMAL_EXT = 0x85AF; - internal const int TEXTURE_POST_SPECULAR_HP = 0x8168; - internal const int TEXTURE_PRE_SPECULAR_HP = 0x8169; - internal const int TEXTURE_PRIORITY_EXT = 0x8066; - internal const int TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; - internal const int TEXTURE_RANGE_POINTER_APPLE = 0x85B8; - internal const int TEXTURE_RECTANGLE = 0x84F5; - internal const int TEXTURE_RECTANGLE_ARB = 0x84F5; - internal const int TEXTURE_RECTANGLE_NV = 0x84F5; - internal const int TEXTURE_REDUCTION_MODE_ARB = 0x9366; - internal const int TEXTURE_REDUCTION_MODE_EXT = 0x9366; - internal const int TEXTURE_RED_SIZE = 0x805C; - internal const int TEXTURE_RED_SIZE_EXT = 0x805C; - internal const int TEXTURE_RED_TYPE = 0x8C10; - internal const int TEXTURE_RED_TYPE_ARB = 0x8C10; - internal const int TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; - internal const int TEXTURE_RENDERBUFFER_NV = 0x8E55; - internal const int TEXTURE_RESIDENT_EXT = 0x8067; - internal const int TEXTURE_SAMPLES = 0x9106; - internal const int TEXTURE_SHADER_NV = 0x86DE; - internal const int TEXTURE_SHADOW = 0x82A1; - internal const int TEXTURE_SHARED_SIZE = 0x8C3F; - internal const int TEXTURE_SHARED_SIZE_EXT = 0x8C3F; - internal const int TEXTURE_SPARSE_ARB = 0x91A6; - internal const int TEXTURE_SRGB_DECODE_EXT = 0x8A48; - internal const int TEXTURE_STENCIL_SIZE = 0x88F1; - internal const int TEXTURE_STENCIL_SIZE_EXT = 0x88F1; - internal const int TEXTURE_STORAGE_HINT_APPLE = 0x85BC; - internal const int TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; - internal const int TEXTURE_SWIZZLE_A = 0x8E45; - internal const int TEXTURE_SWIZZLE_A_EXT = 0x8E45; - internal const int TEXTURE_SWIZZLE_B = 0x8E44; - internal const int TEXTURE_SWIZZLE_B_EXT = 0x8E44; - internal const int TEXTURE_SWIZZLE_G = 0x8E43; - internal const int TEXTURE_SWIZZLE_G_EXT = 0x8E43; - internal const int TEXTURE_SWIZZLE_R = 0x8E42; - internal const int TEXTURE_SWIZZLE_RGBA = 0x8E46; - internal const int TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; - internal const int TEXTURE_SWIZZLE_R_EXT = 0x8E42; - internal const int TEXTURE_TARGET = 0x1006; - internal const int TEXTURE_TILING_EXT = 0x9580; - internal const int TEXTURE_TOO_LARGE_EXT = 0x8065; - internal const int TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; - internal const int TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; - internal const int TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; - internal const int TEXTURE_VIEW = 0x82B5; - internal const int TEXTURE_VIEW_MIN_LAYER = 0x82DD; - internal const int TEXTURE_VIEW_MIN_LEVEL = 0x82DB; - internal const int TEXTURE_VIEW_NUM_LAYERS = 0x82DE; - internal const int TEXTURE_VIEW_NUM_LEVELS = 0x82DC; - internal const int TEXTURE_WIDTH = 0x1000; - internal const int TEXTURE_WRAP_Q_SGIS = 0x8137; - internal const int TEXTURE_WRAP_R = 0x8072; - internal const int TEXTURE_WRAP_R_EXT = 0x8072; - internal const int TEXTURE_WRAP_S = 0x2802; - internal const int TEXTURE_WRAP_T = 0x2803; - internal const int TEXT_FRAGMENT_SHADER_ATI = 0x8200; - internal const int TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; - internal const int TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; - internal const int TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; - internal const int TILING_TYPES_EXT = 0x9583; - internal const int TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; - internal const int TIMEOUT_EXPIRED = 0x911B; - internal const ulong TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; - internal const int TIMESTAMP = 0x8E28; - internal const int TIME_ELAPSED = 0x88BF; - internal const int TIME_ELAPSED_EXT = 0x88BF; - internal const int TOP_LEVEL_ARRAY_SIZE = 0x930C; - internal const int TOP_LEVEL_ARRAY_STRIDE = 0x930D; - internal const int TRACK_MATRIX_NV = 0x8648; - internal const int TRACK_MATRIX_TRANSFORM_NV = 0x8649; - internal const int TRANSFORM_FEEDBACK = 0x8E22; - internal const int TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; - internal const int TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; - internal const int TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; - internal const int TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; - internal const int TRANSFORM_FEEDBACK_BINDING = 0x8E25; - internal const int TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; - internal const int TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; - internal const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; - internal const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; - internal const int TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; - internal const int TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; - internal const int TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; - internal const int TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; - internal const int TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; - internal const int TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; - internal const int TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; - internal const int TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; - internal const int TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; - internal const int TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; - internal const int TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; - internal const int TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; - internal const int TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; - internal const int TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; - internal const int TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; - internal const int TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; - internal const int TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; - internal const int TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; - internal const int TRANSFORM_FEEDBACK_NV = 0x8E22; - internal const int TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC; - internal const int TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; - internal const int TRANSFORM_FEEDBACK_PAUSED = 0x8E23; - internal const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; - internal const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; - internal const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; - internal const int TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; - internal const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED; - internal const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; - internal const int TRANSFORM_FEEDBACK_VARYING = 0x92F4; - internal const int TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; - internal const int TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; - internal const int TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; - internal const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; - internal const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; - internal const int TRANSFORM_HINT_APPLE = 0x85B1; - internal const int TRANSLATE_2D_NV = 0x9090; - internal const int TRANSLATE_3D_NV = 0x9091; - internal const int TRANSLATE_X_NV = 0x908E; - internal const int TRANSLATE_Y_NV = 0x908F; - internal const int TRANSPOSE_AFFINE_2D_NV = 0x9096; - internal const int TRANSPOSE_AFFINE_3D_NV = 0x9098; - internal const int TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; - internal const int TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - internal const int TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; - internal const int TRANSPOSE_NV = 0x862C; - internal const int TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; - internal const int TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; - internal const int TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; - internal const int TRIANGLES = 0x0004; - internal const int TRIANGLES_ADJACENCY = 0x000C; - internal const int TRIANGLES_ADJACENCY_ARB = 0x000C; - internal const int TRIANGLES_ADJACENCY_EXT = 0x000C; - internal const int TRIANGLE_FAN = 0x0006; - internal const int TRIANGLE_LIST_SUN = 0x81D7; - internal const int TRIANGLE_MESH_SUN = 0x8615; - internal const int TRIANGLE_STRIP = 0x0005; - internal const int TRIANGLE_STRIP_ADJACENCY = 0x000D; - internal const int TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; - internal const int TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; - internal const int TRIANGULAR_NV = 0x90A5; - internal const int TRUE = 1; - internal const int TYPE = 0x92FA; - internal const int UNCORRELATED_NV = 0x9282; - internal const int UNDEFINED_APPLE = 0x8A1C; - internal const int UNDEFINED_VERTEX = 0x8260; - internal const int UNIFORM = 0x92E1; - internal const int UNIFORM_ADDRESS_COMMAND_NV = 0x000A; - internal const int UNIFORM_ARRAY_STRIDE = 0x8A3C; - internal const int UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; - internal const int UNIFORM_BARRIER_BIT = 0x00000004; - internal const int UNIFORM_BARRIER_BIT_EXT = 0x00000004; - internal const int UNIFORM_BLOCK = 0x92E2; - internal const int UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; - internal const int UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - internal const int UNIFORM_BLOCK_BINDING = 0x8A3F; - internal const int UNIFORM_BLOCK_DATA_SIZE = 0x8A40; - internal const int UNIFORM_BLOCK_INDEX = 0x8A3A; - internal const int UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; - internal const int UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; - internal const int UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; - internal const int UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; - internal const int UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; - internal const int UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; - internal const int UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; - internal const int UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; - internal const int UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - internal const int UNIFORM_BUFFER = 0x8A11; - internal const int UNIFORM_BUFFER_ADDRESS_NV = 0x936F; - internal const int UNIFORM_BUFFER_BINDING = 0x8A28; - internal const int UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; - internal const int UNIFORM_BUFFER_EXT = 0x8DEE; - internal const int UNIFORM_BUFFER_LENGTH_NV = 0x9370; - internal const int UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; - internal const int UNIFORM_BUFFER_SIZE = 0x8A2A; - internal const int UNIFORM_BUFFER_START = 0x8A29; - internal const int UNIFORM_BUFFER_UNIFIED_NV = 0x936E; - internal const int UNIFORM_IS_ROW_MAJOR = 0x8A3E; - internal const int UNIFORM_MATRIX_STRIDE = 0x8A3D; - internal const int UNIFORM_NAME_LENGTH = 0x8A39; - internal const int UNIFORM_OFFSET = 0x8A3B; - internal const int UNIFORM_SIZE = 0x8A38; - internal const int UNIFORM_TYPE = 0x8A37; - internal const int UNKNOWN_CONTEXT_RESET = 0x8255; - internal const int UNKNOWN_CONTEXT_RESET_ARB = 0x8255; - internal const int UNPACK_ALIGNMENT = 0x0CF5; - internal const int UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; - internal const int UNPACK_CMYK_HINT_EXT = 0x800F; - internal const int UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; - internal const int UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; - internal const int UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; - internal const int UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; - internal const int UNPACK_CONSTANT_DATA_SUNX = 0x81D5; - internal const int UNPACK_IMAGE_DEPTH_SGIS = 0x8133; - internal const int UNPACK_IMAGE_HEIGHT = 0x806E; - internal const int UNPACK_IMAGE_HEIGHT_EXT = 0x806E; - internal const int UNPACK_LSB_FIRST = 0x0CF1; - internal const int UNPACK_RESAMPLE_OML = 0x8985; - internal const int UNPACK_RESAMPLE_SGIX = 0x842F; - internal const int UNPACK_ROW_BYTES_APPLE = 0x8A16; - internal const int UNPACK_ROW_LENGTH = 0x0CF2; - internal const int UNPACK_SKIP_IMAGES = 0x806D; - internal const int UNPACK_SKIP_IMAGES_EXT = 0x806D; - internal const int UNPACK_SKIP_PIXELS = 0x0CF4; - internal const int UNPACK_SKIP_ROWS = 0x0CF3; - internal const int UNPACK_SKIP_VOLUMES_SGIS = 0x8132; - internal const int UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; - internal const int UNPACK_SWAP_BYTES = 0x0CF0; - internal const int UNSIGNALED = 0x9118; - internal const int UNSIGNED_BYTE = 0x1401; - internal const int UNSIGNED_BYTE_2_3_3_REV = 0x8362; - internal const int UNSIGNED_BYTE_3_3_2 = 0x8032; - internal const int UNSIGNED_BYTE_3_3_2_EXT = 0x8032; - internal const int UNSIGNED_IDENTITY_NV = 0x8536; - internal const int UNSIGNED_INT = 0x1405; - internal const int UNSIGNED_INT16_NV = 0x8FF0; - internal const int UNSIGNED_INT16_VEC2_NV = 0x8FF1; - internal const int UNSIGNED_INT16_VEC3_NV = 0x8FF2; - internal const int UNSIGNED_INT16_VEC4_NV = 0x8FF3; - internal const int UNSIGNED_INT64_AMD = 0x8BC2; - internal const int UNSIGNED_INT64_ARB = 0x140F; - internal const int UNSIGNED_INT64_NV = 0x140F; - internal const int UNSIGNED_INT64_VEC2_ARB = 0x8FF5; - internal const int UNSIGNED_INT64_VEC2_NV = 0x8FF5; - internal const int UNSIGNED_INT64_VEC3_ARB = 0x8FF6; - internal const int UNSIGNED_INT64_VEC3_NV = 0x8FF6; - internal const int UNSIGNED_INT64_VEC4_ARB = 0x8FF7; - internal const int UNSIGNED_INT64_VEC4_NV = 0x8FF7; - internal const int UNSIGNED_INT8_NV = 0x8FEC; - internal const int UNSIGNED_INT8_VEC2_NV = 0x8FED; - internal const int UNSIGNED_INT8_VEC3_NV = 0x8FEE; - internal const int UNSIGNED_INT8_VEC4_NV = 0x8FEF; - internal const int UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; - internal const int UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; - internal const int UNSIGNED_INT_10_10_10_2 = 0x8036; - internal const int UNSIGNED_INT_10_10_10_2_EXT = 0x8036; - internal const int UNSIGNED_INT_24_8 = 0x84FA; - internal const int UNSIGNED_INT_24_8_EXT = 0x84FA; - internal const int UNSIGNED_INT_24_8_NV = 0x84FA; - internal const int UNSIGNED_INT_2_10_10_10_REV = 0x8368; - internal const int UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; - internal const int UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; - internal const int UNSIGNED_INT_8_8_8_8 = 0x8035; - internal const int UNSIGNED_INT_8_8_8_8_EXT = 0x8035; - internal const int UNSIGNED_INT_8_8_8_8_REV = 0x8367; - internal const int UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; - internal const int UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; - internal const int UNSIGNED_INT_IMAGE_1D = 0x9062; - internal const int UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; - internal const int UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; - internal const int UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; - internal const int UNSIGNED_INT_IMAGE_2D = 0x9063; - internal const int UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; - internal const int UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; - internal const int UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; - internal const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; - internal const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; - internal const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; - internal const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; - internal const int UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; - internal const int UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; - internal const int UNSIGNED_INT_IMAGE_3D = 0x9064; - internal const int UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; - internal const int UNSIGNED_INT_IMAGE_BUFFER = 0x9067; - internal const int UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; - internal const int UNSIGNED_INT_IMAGE_CUBE = 0x9066; - internal const int UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; - internal const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; - internal const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; - internal const int UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; - internal const int UNSIGNED_INT_SAMPLER_1D = 0x8DD1; - internal const int UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; - internal const int UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; - internal const int UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; - internal const int UNSIGNED_INT_SAMPLER_2D = 0x8DD2; - internal const int UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; - internal const int UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; - internal const int UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; - internal const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; - internal const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; - internal const int UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; - internal const int UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; - internal const int UNSIGNED_INT_SAMPLER_3D = 0x8DD3; - internal const int UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; - internal const int UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; - internal const int UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; - internal const int UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; - internal const int UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; - internal const int UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; - internal const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; - internal const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; - internal const int UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; - internal const int UNSIGNED_INT_VEC2 = 0x8DC6; - internal const int UNSIGNED_INT_VEC2_EXT = 0x8DC6; - internal const int UNSIGNED_INT_VEC3 = 0x8DC7; - internal const int UNSIGNED_INT_VEC3_EXT = 0x8DC7; - internal const int UNSIGNED_INT_VEC4 = 0x8DC8; - internal const int UNSIGNED_INT_VEC4_EXT = 0x8DC8; - internal const int UNSIGNED_INVERT_NV = 0x8537; - internal const int UNSIGNED_NORMALIZED = 0x8C17; - internal const int UNSIGNED_NORMALIZED_ARB = 0x8C17; - internal const int UNSIGNED_SHORT = 0x1403; - internal const int UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; - internal const int UNSIGNED_SHORT_4_4_4_4 = 0x8033; - internal const int UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; - internal const int UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; - internal const int UNSIGNED_SHORT_5_5_5_1 = 0x8034; - internal const int UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; - internal const int UNSIGNED_SHORT_5_6_5 = 0x8363; - internal const int UNSIGNED_SHORT_5_6_5_REV = 0x8364; - internal const int UNSIGNED_SHORT_8_8_APPLE = 0x85BA; - internal const int UNSIGNED_SHORT_8_8_MESA = 0x85BA; - internal const int UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; - internal const int UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; - internal const int UPLOAD_GPU_MASK_NVX = 0x954A; - internal const int UPPER_LEFT = 0x8CA2; - internal const int USE_MISSING_GLYPH_NV = 0x90AA; - internal const int UTF16_NV = 0x909B; - internal const int UTF8_NV = 0x909A; - internal const int UUID_SIZE_EXT = 16; - internal const int VALIDATE_STATUS = 0x8B83; - internal const int VARIABLE_A_NV = 0x8523; - internal const int VARIABLE_B_NV = 0x8524; - internal const int VARIABLE_C_NV = 0x8525; - internal const int VARIABLE_D_NV = 0x8526; - internal const int VARIABLE_E_NV = 0x8527; - internal const int VARIABLE_F_NV = 0x8528; - internal const int VARIABLE_G_NV = 0x8529; - internal const int VARIANT_ARRAY_EXT = 0x87E8; - internal const int VARIANT_ARRAY_POINTER_EXT = 0x87E9; - internal const int VARIANT_ARRAY_STRIDE_EXT = 0x87E6; - internal const int VARIANT_ARRAY_TYPE_EXT = 0x87E7; - internal const int VARIANT_DATATYPE_EXT = 0x87E5; - internal const int VARIANT_EXT = 0x87C1; - internal const int VARIANT_VALUE_EXT = 0x87E4; - internal const int VBO_FREE_MEMORY_ATI = 0x87FB; - internal const int VECTOR_EXT = 0x87BF; - internal const int VENDOR = 0x1F00; - internal const int VERSION = 0x1F02; - internal const int VERTEX23_BIT_PGI = 0x00000004; - internal const int VERTEX4_BIT_PGI = 0x00000008; - internal const int VERTEX_ARRAY = 0x8074; - internal const int VERTEX_ARRAY_ADDRESS_NV = 0x8F21; - internal const int VERTEX_ARRAY_BINDING = 0x85B5; - internal const int VERTEX_ARRAY_BINDING_APPLE = 0x85B5; - internal const int VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; - internal const int VERTEX_ARRAY_COUNT_EXT = 0x807D; - internal const int VERTEX_ARRAY_EXT = 0x8074; - internal const int VERTEX_ARRAY_LENGTH_NV = 0x8F2B; - internal const int VERTEX_ARRAY_LIST_IBM = 103070; - internal const int VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; - internal const int VERTEX_ARRAY_OBJECT_AMD = 0x9154; - internal const int VERTEX_ARRAY_OBJECT_EXT = 0x9154; - internal const int VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; - internal const int VERTEX_ARRAY_POINTER_EXT = 0x808E; - internal const int VERTEX_ARRAY_RANGE_APPLE = 0x851D; - internal const int VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; - internal const int VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; - internal const int VERTEX_ARRAY_RANGE_NV = 0x851D; - internal const int VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; - internal const int VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; - internal const int VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; - internal const int VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; - internal const int VERTEX_ARRAY_SIZE_EXT = 0x807A; - internal const int VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; - internal const int VERTEX_ARRAY_STRIDE_EXT = 0x807C; - internal const int VERTEX_ARRAY_TYPE_EXT = 0x807B; - internal const int VERTEX_ATTRIB_ARRAY0_NV = 0x8650; - internal const int VERTEX_ATTRIB_ARRAY10_NV = 0x865A; - internal const int VERTEX_ATTRIB_ARRAY11_NV = 0x865B; - internal const int VERTEX_ATTRIB_ARRAY12_NV = 0x865C; - internal const int VERTEX_ATTRIB_ARRAY13_NV = 0x865D; - internal const int VERTEX_ATTRIB_ARRAY14_NV = 0x865E; - internal const int VERTEX_ATTRIB_ARRAY15_NV = 0x865F; - internal const int VERTEX_ATTRIB_ARRAY1_NV = 0x8651; - internal const int VERTEX_ATTRIB_ARRAY2_NV = 0x8652; - internal const int VERTEX_ATTRIB_ARRAY3_NV = 0x8653; - internal const int VERTEX_ATTRIB_ARRAY4_NV = 0x8654; - internal const int VERTEX_ATTRIB_ARRAY5_NV = 0x8655; - internal const int VERTEX_ATTRIB_ARRAY6_NV = 0x8656; - internal const int VERTEX_ATTRIB_ARRAY7_NV = 0x8657; - internal const int VERTEX_ATTRIB_ARRAY8_NV = 0x8658; - internal const int VERTEX_ATTRIB_ARRAY9_NV = 0x8659; - internal const int VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; - internal const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; - internal const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; - internal const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; - internal const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; - internal const int VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; - internal const int VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; - internal const int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; - internal const int VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; - internal const int VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; - internal const int VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; - internal const int VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; - internal const int VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; - internal const int VERTEX_ATTRIB_ARRAY_LONG = 0x874E; - internal const int VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; - internal const int VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; - internal const int VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; - internal const int VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; - internal const int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; - internal const int VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; - internal const int VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; - internal const int VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; - internal const int VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; - internal const int VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; - internal const int VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; - internal const int VERTEX_ATTRIB_BINDING = 0x82D4; - internal const int VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; - internal const int VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; - internal const int VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; - internal const int VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; - internal const int VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; - internal const int VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; - internal const int VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; - internal const int VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; - internal const int VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; - internal const int VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; - internal const int VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; - internal const int VERTEX_BINDING_BUFFER = 0x8F4F; - internal const int VERTEX_BINDING_DIVISOR = 0x82D6; - internal const int VERTEX_BINDING_OFFSET = 0x82D7; - internal const int VERTEX_BINDING_STRIDE = 0x82D8; - internal const int VERTEX_BLEND_ARB = 0x86A7; - internal const int VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; - internal const int VERTEX_DATA_HINT_PGI = 0x1A22A; - internal const int VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; - internal const int VERTEX_ID_NV = 0x8C7B; - internal const int VERTEX_ID_SWIZZLE_AMD = 0x91A5; - internal const int VERTEX_PRECLIP_HINT_SGIX = 0x83EF; - internal const int VERTEX_PRECLIP_SGIX = 0x83EE; - internal const int VERTEX_PROGRAM_ARB = 0x8620; - internal const int VERTEX_PROGRAM_BINDING_NV = 0x864A; - internal const int VERTEX_PROGRAM_NV = 0x8620; - internal const int VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; - internal const int VERTEX_PROGRAM_POINT_SIZE = 0x8642; - internal const int VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; - internal const int VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - internal const int VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; - internal const int VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - internal const int VERTEX_SHADER = 0x8B31; - internal const int VERTEX_SHADER_ARB = 0x8B31; - internal const int VERTEX_SHADER_BINDING_EXT = 0x8781; - internal const int VERTEX_SHADER_BIT = 0x00000001; - internal const int VERTEX_SHADER_EXT = 0x8780; - internal const int VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; - internal const int VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; - internal const int VERTEX_SHADER_INVOCATIONS = 0x82F0; - internal const int VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; - internal const int VERTEX_SHADER_LOCALS_EXT = 0x87D3; - internal const int VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; - internal const int VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; - internal const int VERTEX_SHADER_VARIANTS_EXT = 0x87D0; - internal const int VERTEX_SOURCE_ATI = 0x8774; - internal const int VERTEX_STATE_PROGRAM_NV = 0x8621; - internal const int VERTEX_STREAM0_ATI = 0x876C; - internal const int VERTEX_STREAM1_ATI = 0x876D; - internal const int VERTEX_STREAM2_ATI = 0x876E; - internal const int VERTEX_STREAM3_ATI = 0x876F; - internal const int VERTEX_STREAM4_ATI = 0x8770; - internal const int VERTEX_STREAM5_ATI = 0x8771; - internal const int VERTEX_STREAM6_ATI = 0x8772; - internal const int VERTEX_STREAM7_ATI = 0x8773; - internal const int VERTEX_SUBROUTINE = 0x92E8; - internal const int VERTEX_SUBROUTINE_UNIFORM = 0x92EE; - internal const int VERTEX_TEXTURE = 0x829B; - internal const int VERTEX_WEIGHTING_EXT = 0x8509; - internal const int VERTEX_WEIGHT_ARRAY_EXT = 0x850C; - internal const int VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; - internal const int VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; - internal const int VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; - internal const int VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; - internal const int VERTICAL_LINE_TO_NV = 0x08; - internal const int VERTICES_SUBMITTED = 0x82EE; - internal const int VERTICES_SUBMITTED_ARB = 0x82EE; - internal const int VIBRANCE_BIAS_NV = 0x8719; - internal const int VIBRANCE_SCALE_NV = 0x8713; - internal const int VIDEO_BUFFER_BINDING_NV = 0x9021; - internal const int VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; - internal const int VIDEO_BUFFER_NV = 0x9020; - internal const int VIDEO_BUFFER_PITCH_NV = 0x9028; - internal const int VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; - internal const int VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; - internal const int VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; - internal const int VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; - internal const int VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; - internal const int VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; - internal const int VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; - internal const int VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; - internal const int VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; - internal const int VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; - internal const int VIEWPORT = 0x0BA2; - internal const int VIEWPORT_BOUNDS_RANGE = 0x825D; - internal const int VIEWPORT_COMMAND_NV = 0x0010; - internal const int VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; - internal const int VIEWPORT_POSITION_W_SCALE_NV = 0x937C; - internal const int VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; - internal const int VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; - internal const int VIEWPORT_SUBPIXEL_BITS = 0x825C; - internal const int VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; - internal const int VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; - internal const int VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; - internal const int VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; - internal const int VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; - internal const int VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; - internal const int VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; - internal const int VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; - internal const int VIEWPORT_SWIZZLE_W_NV = 0x935B; - internal const int VIEWPORT_SWIZZLE_X_NV = 0x9358; - internal const int VIEWPORT_SWIZZLE_Y_NV = 0x9359; - internal const int VIEWPORT_SWIZZLE_Z_NV = 0x935A; - internal const int VIEW_CLASS_128_BITS = 0x82C4; - internal const int VIEW_CLASS_16_BITS = 0x82CA; - internal const int VIEW_CLASS_24_BITS = 0x82C9; - internal const int VIEW_CLASS_32_BITS = 0x82C8; - internal const int VIEW_CLASS_48_BITS = 0x82C7; - internal const int VIEW_CLASS_64_BITS = 0x82C6; - internal const int VIEW_CLASS_8_BITS = 0x82CB; - internal const int VIEW_CLASS_96_BITS = 0x82C5; - internal const int VIEW_CLASS_ASTC_10x10_RGBA = 0x9393; - internal const int VIEW_CLASS_ASTC_10x5_RGBA = 0x9390; - internal const int VIEW_CLASS_ASTC_10x6_RGBA = 0x9391; - internal const int VIEW_CLASS_ASTC_10x8_RGBA = 0x9392; - internal const int VIEW_CLASS_ASTC_12x10_RGBA = 0x9394; - internal const int VIEW_CLASS_ASTC_12x12_RGBA = 0x9395; - internal const int VIEW_CLASS_ASTC_4x4_RGBA = 0x9388; - internal const int VIEW_CLASS_ASTC_5x4_RGBA = 0x9389; - internal const int VIEW_CLASS_ASTC_5x5_RGBA = 0x938A; - internal const int VIEW_CLASS_ASTC_6x5_RGBA = 0x938B; - internal const int VIEW_CLASS_ASTC_6x6_RGBA = 0x938C; - internal const int VIEW_CLASS_ASTC_8x5_RGBA = 0x938D; - internal const int VIEW_CLASS_ASTC_8x6_RGBA = 0x938E; - internal const int VIEW_CLASS_ASTC_8x8_RGBA = 0x938F; - internal const int VIEW_CLASS_BPTC_FLOAT = 0x82D3; - internal const int VIEW_CLASS_BPTC_UNORM = 0x82D2; - internal const int VIEW_CLASS_EAC_R11 = 0x9383; - internal const int VIEW_CLASS_EAC_RG11 = 0x9384; - internal const int VIEW_CLASS_ETC2_EAC_RGBA = 0x9387; - internal const int VIEW_CLASS_ETC2_RGB = 0x9385; - internal const int VIEW_CLASS_ETC2_RGBA = 0x9386; - internal const int VIEW_CLASS_RGTC1_RED = 0x82D0; - internal const int VIEW_CLASS_RGTC2_RG = 0x82D1; - internal const int VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; - internal const int VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; - internal const int VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; - internal const int VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; - internal const int VIEW_COMPATIBILITY_CLASS = 0x82B6; - internal const int VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; - internal const int VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; - internal const int VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; - internal const int VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; - internal const int VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; - internal const int VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; - internal const int VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; - internal const int VIVIDLIGHT_NV = 0x92A6; - internal const int VOLATILE_APPLE = 0x8A1A; - internal const int WAIT_FAILED = 0x911D; - internal const int WARPS_PER_SM_NV = 0x933A; - internal const int WARP_SIZE_NV = 0x9339; - internal const int WEIGHTED_AVERAGE_ARB = 0x9367; - internal const int WEIGHTED_AVERAGE_EXT = 0x9367; - internal const int WEIGHT_ARRAY_ARB = 0x86AD; - internal const int WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; - internal const int WEIGHT_ARRAY_POINTER_ARB = 0x86AC; - internal const int WEIGHT_ARRAY_SIZE_ARB = 0x86AB; - internal const int WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; - internal const int WEIGHT_ARRAY_TYPE_ARB = 0x86A9; - internal const int WEIGHT_SUM_UNITY_ARB = 0x86A6; - internal const int WIDE_LINE_HINT_PGI = 0x1A222; - internal const int WINDOW_RECTANGLE_EXT = 0x8F12; - internal const int WINDOW_RECTANGLE_MODE_EXT = 0x8F13; - internal const int WRAP_BORDER_SUN = 0x81D4; - internal const int WRITE_DISCARD_NV = 0x88BE; - internal const int WRITE_ONLY = 0x88B9; - internal const int WRITE_ONLY_ARB = 0x88B9; - internal const int WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; - internal const int WRITE_PIXEL_DATA_RANGE_NV = 0x8878; - internal const int WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; - internal const int W_EXT = 0x87D8; - internal const int XOR = 0x1506; - internal const int XOR_NV = 0x1506; - internal const int X_EXT = 0x87D5; - internal const int YCBAYCR8A_4224_NV = 0x9032; - internal const int YCBCR_422_APPLE = 0x85B9; - internal const int YCBCR_MESA = 0x8757; - internal const int YCBYCR8_422_NV = 0x9031; - internal const int YCRCBA_SGIX = 0x8319; - internal const int YCRCB_422_SGIX = 0x81BB; - internal const int YCRCB_444_SGIX = 0x81BC; - internal const int YCRCB_SGIX = 0x8318; - internal const int Y_EXT = 0x87D6; - internal const int Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; - internal const int Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; - internal const int Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; - internal const int Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; - internal const int Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; - internal const int ZERO = 0; - internal const int ZERO_EXT = 0x87DD; - internal const int ZERO_TO_ONE = 0x935F; - internal const int Z_EXT = 0x87D7; + public const int _1PASS_EXT = 0x80A1; + public const int _1PASS_SGIS = 0x80A1; + public const int _2PASS_0_EXT = 0x80A2; + public const int _2PASS_0_SGIS = 0x80A2; + public const int _2PASS_1_EXT = 0x80A3; + public const int _2PASS_1_SGIS = 0x80A3; + public const int _2X_BIT_ATI = 0x00000001; + public const int _422_AVERAGE_EXT = 0x80CE; + public const int _422_EXT = 0x80CC; + public const int _422_REV_AVERAGE_EXT = 0x80CF; + public const int _422_REV_EXT = 0x80CD; + public const int _4PASS_0_EXT = 0x80A4; + public const int _4PASS_0_SGIS = 0x80A4; + public const int _4PASS_1_EXT = 0x80A5; + public const int _4PASS_1_SGIS = 0x80A5; + public const int _4PASS_2_EXT = 0x80A6; + public const int _4PASS_2_SGIS = 0x80A6; + public const int _4PASS_3_EXT = 0x80A7; + public const int _4PASS_3_SGIS = 0x80A7; + public const int _4X_BIT_ATI = 0x00000002; + public const int _8X_BIT_ATI = 0x00000004; + public const int ABGR_EXT = 0x8000; + public const int ACCUM_ADJACENT_PAIRS_NV = 0x90AD; + public const int ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; + public const int ACTIVE_ATTRIBUTES = 0x8B89; + public const int ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; + public const int ACTIVE_PROGRAM = 0x8259; + public const int ACTIVE_PROGRAM_EXT = 0x8B8D; + public const int ACTIVE_RESOURCES = 0x92F5; + public const int ACTIVE_STENCIL_FACE_EXT = 0x8911; + public const int ACTIVE_SUBROUTINES = 0x8DE5; + public const int ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; + public const int ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; + public const int ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; + public const int ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; + public const int ACTIVE_TEXTURE = 0x84E0; + public const int ACTIVE_TEXTURE_ARB = 0x84E0; + public const int ACTIVE_UNIFORMS = 0x8B86; + public const int ACTIVE_UNIFORM_BLOCKS = 0x8A36; + public const int ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; + public const int ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; + public const int ACTIVE_VARIABLES = 0x9305; + public const int ACTIVE_VARYINGS_NV = 0x8C81; + public const int ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; + public const int ACTIVE_VERTEX_UNITS_ARB = 0x86A5; + public const int ADD_ATI = 0x8963; + public const int ADD_SIGNED_ARB = 0x8574; + public const int ADD_SIGNED_EXT = 0x8574; + public const int ADJACENT_PAIRS_NV = 0x90AE; + public const int AFFINE_2D_NV = 0x9092; + public const int AFFINE_3D_NV = 0x9094; + public const int ALIASED_LINE_WIDTH_RANGE = 0x846E; + public const int ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; + public const int ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; + public const int ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; + public const int ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; + public const uint ALL_BARRIER_BITS = 0xFFFFFFFF; + public const uint ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; + public const int ALL_COMPLETED_NV = 0x84F2; + public const uint ALL_PIXELS_AMD = 0xFFFFFFFF; + public const uint ALL_SHADER_BITS = 0xFFFFFFFF; + public const int ALL_STATIC_DATA_IBM = 103060; + public const int ALPHA = 0x1906; + public const int ALPHA12_EXT = 0x803D; + public const int ALPHA16F_ARB = 0x881C; + public const int ALPHA16F_EXT = 0x881C; + public const int ALPHA16I_EXT = 0x8D8A; + public const int ALPHA16UI_EXT = 0x8D78; + public const int ALPHA16_EXT = 0x803E; + public const int ALPHA16_SNORM = 0x9018; + public const int ALPHA32F_ARB = 0x8816; + public const int ALPHA32F_EXT = 0x8816; + public const int ALPHA32I_EXT = 0x8D84; + public const int ALPHA32UI_EXT = 0x8D72; + public const int ALPHA4_EXT = 0x803B; + public const int ALPHA8I_EXT = 0x8D90; + public const int ALPHA8UI_EXT = 0x8D7E; + public const int ALPHA8_EXT = 0x803C; + public const int ALPHA8_SNORM = 0x9014; + public const int ALPHA_FLOAT16_APPLE = 0x881C; + public const int ALPHA_FLOAT16_ATI = 0x881C; + public const int ALPHA_FLOAT32_APPLE = 0x8816; + public const int ALPHA_FLOAT32_ATI = 0x8816; + public const int ALPHA_INTEGER_EXT = 0x8D97; + public const int ALPHA_MAX_CLAMP_INGR = 0x8567; + public const int ALPHA_MAX_SGIX = 0x8321; + public const int ALPHA_MIN_CLAMP_INGR = 0x8563; + public const int ALPHA_MIN_SGIX = 0x8320; + public const int ALPHA_REF_COMMAND_NV = 0x000F; + public const int ALPHA_SNORM = 0x9010; + public const int ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; + public const int ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; + public const int ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; + public const int ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; + public const int ALREADY_SIGNALED = 0x911A; + public const int ALWAYS = 0x0207; + public const int ALWAYS_FAST_HINT_PGI = 0x1A20C; + public const int ALWAYS_SOFT_HINT_PGI = 0x1A20D; + public const int AND = 0x1501; + public const int AND_INVERTED = 0x1504; + public const int AND_REVERSE = 0x1502; + public const int ANY_SAMPLES_PASSED = 0x8C2F; + public const int ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; + public const int ARC_TO_NV = 0xFE; + public const int ARRAY_BUFFER = 0x8892; + public const int ARRAY_BUFFER_ARB = 0x8892; + public const int ARRAY_BUFFER_BINDING = 0x8894; + public const int ARRAY_BUFFER_BINDING_ARB = 0x8894; + public const int ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; + public const int ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; + public const int ARRAY_OBJECT_BUFFER_ATI = 0x8766; + public const int ARRAY_OBJECT_OFFSET_ATI = 0x8767; + public const int ARRAY_SIZE = 0x92FB; + public const int ARRAY_STRIDE = 0x92FE; + public const int ASYNC_DRAW_PIXELS_SGIX = 0x835D; + public const int ASYNC_HISTOGRAM_SGIX = 0x832C; + public const int ASYNC_MARKER_SGIX = 0x8329; + public const int ASYNC_READ_PIXELS_SGIX = 0x835E; + public const int ASYNC_TEX_IMAGE_SGIX = 0x835C; + public const int ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; + public const int ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; + public const int ATOMIC_COUNTER_BUFFER = 0x92C0; + public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; + public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; + public const int ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; + public const int ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; + public const int ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; + public const int ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; + public const int ATOMIC_COUNTER_BUFFER_START = 0x92C2; + public const int ATTACHED_MEMORY_OBJECT_NV = 0x95A4; + public const int ATTACHED_MEMORY_OFFSET_NV = 0x95A5; + public const int ATTACHED_SHADERS = 0x8B85; + public const int ATTENUATION_EXT = 0x834D; + public const int ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; + public const int ATTRIB_ARRAY_POINTER_NV = 0x8645; + public const int ATTRIB_ARRAY_SIZE_NV = 0x8623; + public const int ATTRIB_ARRAY_STRIDE_NV = 0x8624; + public const int ATTRIB_ARRAY_TYPE_NV = 0x8625; + public const int AUTO_GENERATE_MIPMAP = 0x8295; + public const int AUX_DEPTH_STENCIL_APPLE = 0x8A14; + public const int AVERAGE_EXT = 0x8335; + public const int AVERAGE_HP = 0x8160; + public const int BACK = 0x0405; + public const int BACK_LEFT = 0x0402; + public const int BACK_NORMALS_HINT_PGI = 0x1A223; + public const int BACK_PRIMARY_COLOR_NV = 0x8C77; + public const int BACK_RIGHT = 0x0403; + public const int BACK_SECONDARY_COLOR_NV = 0x8C78; + public const int BEVEL_NV = 0x90A6; + public const int BGR = 0x80E0; + public const int BGRA = 0x80E1; + public const int BGRA8_EXT = 0x93A1; + public const int BGRA_EXT = 0x80E1; + public const int BGRA_INTEGER = 0x8D9B; + public const int BGRA_INTEGER_EXT = 0x8D9B; + public const int BGR_EXT = 0x80E0; + public const int BGR_INTEGER = 0x8D9A; + public const int BGR_INTEGER_EXT = 0x8D9A; + public const int BIAS_BIT_ATI = 0x00000008; + public const int BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; + public const int BINORMAL_ARRAY_EXT = 0x843A; + public const int BINORMAL_ARRAY_POINTER_EXT = 0x8443; + public const int BINORMAL_ARRAY_STRIDE_EXT = 0x8441; + public const int BINORMAL_ARRAY_TYPE_EXT = 0x8440; + public const int BLACKHOLE_RENDER_INTEL = 0x83FC; + public const int BLEND = 0x0BE2; + public const int BLEND_ADVANCED_COHERENT_KHR = 0x9285; + public const int BLEND_ADVANCED_COHERENT_NV = 0x9285; + public const int BLEND_COLOR = 0x8005; + public const int BLEND_COLOR_COMMAND_NV = 0x000B; + public const int BLEND_COLOR_EXT = 0x8005; + public const int BLEND_DST = 0x0BE0; + public const int BLEND_DST_ALPHA = 0x80CA; + public const int BLEND_DST_ALPHA_EXT = 0x80CA; + public const int BLEND_DST_RGB = 0x80C8; + public const int BLEND_DST_RGB_EXT = 0x80C8; + public const int BLEND_EQUATION = 0x8009; + public const int BLEND_EQUATION_ALPHA = 0x883D; + public const int BLEND_EQUATION_ALPHA_EXT = 0x883D; + public const int BLEND_EQUATION_EXT = 0x8009; + public const int BLEND_EQUATION_RGB = 0x8009; + public const int BLEND_EQUATION_RGB_EXT = 0x8009; + public const int BLEND_OVERLAP_NV = 0x9281; + public const int BLEND_PREMULTIPLIED_SRC_NV = 0x9280; + public const int BLEND_SRC = 0x0BE1; + public const int BLEND_SRC_ALPHA = 0x80CB; + public const int BLEND_SRC_ALPHA_EXT = 0x80CB; + public const int BLEND_SRC_RGB = 0x80C9; + public const int BLEND_SRC_RGB_EXT = 0x80C9; + public const int BLOCK_INDEX = 0x92FD; + public const int BLUE = 0x1905; + public const int BLUE_BIT_ATI = 0x00000004; + public const int BLUE_INTEGER = 0x8D96; + public const int BLUE_INTEGER_EXT = 0x8D96; + public const int BLUE_MAX_CLAMP_INGR = 0x8566; + public const int BLUE_MIN_CLAMP_INGR = 0x8562; + public const int BLUE_NV = 0x1905; + public const int BOLD_BIT_NV = 0x01; + public const int BOOL = 0x8B56; + public const int BOOL_ARB = 0x8B56; + public const int BOOL_VEC2 = 0x8B57; + public const int BOOL_VEC2_ARB = 0x8B57; + public const int BOOL_VEC3 = 0x8B58; + public const int BOOL_VEC3_ARB = 0x8B58; + public const int BOOL_VEC4 = 0x8B59; + public const int BOOL_VEC4_ARB = 0x8B59; + public const int BOUNDING_BOX_NV = 0x908D; + public const int BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; + public const int BUFFER = 0x82E0; + public const int BUFFER_ACCESS = 0x88BB; + public const int BUFFER_ACCESS_ARB = 0x88BB; + public const int BUFFER_ACCESS_FLAGS = 0x911F; + public const int BUFFER_BINDING = 0x9302; + public const int BUFFER_DATA_SIZE = 0x9303; + public const int BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; + public const int BUFFER_GPU_ADDRESS_NV = 0x8F1D; + public const int BUFFER_IMMUTABLE_STORAGE = 0x821F; + public const int BUFFER_MAPPED = 0x88BC; + public const int BUFFER_MAPPED_ARB = 0x88BC; + public const int BUFFER_MAP_LENGTH = 0x9120; + public const int BUFFER_MAP_OFFSET = 0x9121; + public const int BUFFER_MAP_POINTER = 0x88BD; + public const int BUFFER_MAP_POINTER_ARB = 0x88BD; + public const int BUFFER_OBJECT_APPLE = 0x85B3; + public const int BUFFER_OBJECT_EXT = 0x9151; + public const int BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; + public const int BUFFER_SIZE = 0x8764; + public const int BUFFER_SIZE_ARB = 0x8764; + public const int BUFFER_STORAGE_FLAGS = 0x8220; + public const int BUFFER_UPDATE_BARRIER_BIT = 0x00000200; + public const int BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; + public const int BUFFER_USAGE = 0x8765; + public const int BUFFER_USAGE_ARB = 0x8765; + public const int BUFFER_VARIABLE = 0x92E5; + public const int BUMP_ENVMAP_ATI = 0x877B; + public const int BUMP_NUM_TEX_UNITS_ATI = 0x8777; + public const int BUMP_ROT_MATRIX_ATI = 0x8775; + public const int BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; + public const int BUMP_TARGET_ATI = 0x877C; + public const int BUMP_TEX_UNITS_ATI = 0x8778; + public const int BYTE = 0x1400; + public const int CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; + public const int CAVEAT_SUPPORT = 0x82B8; + public const int CCW = 0x0901; + public const int CIRCULAR_CCW_ARC_TO_NV = 0xF8; + public const int CIRCULAR_CW_ARC_TO_NV = 0xFA; + public const int CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; + public const int CLAMP_FRAGMENT_COLOR_ARB = 0x891B; + public const int CLAMP_READ_COLOR = 0x891C; + public const int CLAMP_READ_COLOR_ARB = 0x891C; + public const int CLAMP_TO_BORDER = 0x812D; + public const int CLAMP_TO_BORDER_ARB = 0x812D; + public const int CLAMP_TO_BORDER_SGIS = 0x812D; + public const int CLAMP_TO_EDGE = 0x812F; + public const int CLAMP_TO_EDGE_SGIS = 0x812F; + public const int CLAMP_VERTEX_COLOR_ARB = 0x891A; + public const int CLEAR = 0x1500; + public const int CLEAR_BUFFER = 0x82B4; + public const int CLEAR_TEXTURE = 0x9365; + public const int CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; + public const int CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; + public const int CLIENT_STORAGE_BIT = 0x0200; + public const int CLIPPING_INPUT_PRIMITIVES = 0x82F6; + public const int CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; + public const int CLIPPING_OUTPUT_PRIMITIVES = 0x82F7; + public const int CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; + public const int CLIP_DEPTH_MODE = 0x935D; + public const int CLIP_DISTANCE0 = 0x3000; + public const int CLIP_DISTANCE1 = 0x3001; + public const int CLIP_DISTANCE2 = 0x3002; + public const int CLIP_DISTANCE3 = 0x3003; + public const int CLIP_DISTANCE4 = 0x3004; + public const int CLIP_DISTANCE5 = 0x3005; + public const int CLIP_DISTANCE6 = 0x3006; + public const int CLIP_DISTANCE7 = 0x3007; + public const int CLIP_DISTANCE_NV = 0x8C7A; + public const int CLIP_FAR_HINT_PGI = 0x1A221; + public const int CLIP_NEAR_HINT_PGI = 0x1A220; + public const int CLIP_ORIGIN = 0x935C; + public const int CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; + public const int CLOSE_PATH_NV = 0x00; + public const int CMYKA_EXT = 0x800D; + public const int CMYK_EXT = 0x800C; + public const int CND0_ATI = 0x896B; + public const int CND_ATI = 0x896A; + public const int COLOR = 0x1800; + public const int COLOR3_BIT_PGI = 0x00010000; + public const int COLOR4_BIT_PGI = 0x00020000; + public const int COLORBURN_KHR = 0x929A; + public const int COLORBURN_NV = 0x929A; + public const int COLORDODGE_KHR = 0x9299; + public const int COLORDODGE_NV = 0x9299; + public const int COLOR_ALPHA_PAIRING_ATI = 0x8975; + public const int COLOR_ARRAY_ADDRESS_NV = 0x8F23; + public const int COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; + public const int COLOR_ARRAY_COUNT_EXT = 0x8084; + public const int COLOR_ARRAY_EXT = 0x8076; + public const int COLOR_ARRAY_LENGTH_NV = 0x8F2D; + public const int COLOR_ARRAY_LIST_IBM = 103072; + public const int COLOR_ARRAY_LIST_STRIDE_IBM = 103082; + public const int COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; + public const int COLOR_ARRAY_POINTER_EXT = 0x8090; + public const int COLOR_ARRAY_SIZE_EXT = 0x8081; + public const int COLOR_ARRAY_STRIDE_EXT = 0x8083; + public const int COLOR_ARRAY_TYPE_EXT = 0x8082; + public const int COLOR_ATTACHMENT0 = 0x8CE0; + public const int COLOR_ATTACHMENT0_EXT = 0x8CE0; + public const int COLOR_ATTACHMENT1 = 0x8CE1; + public const int COLOR_ATTACHMENT10 = 0x8CEA; + public const int COLOR_ATTACHMENT10_EXT = 0x8CEA; + public const int COLOR_ATTACHMENT11 = 0x8CEB; + public const int COLOR_ATTACHMENT11_EXT = 0x8CEB; + public const int COLOR_ATTACHMENT12 = 0x8CEC; + public const int COLOR_ATTACHMENT12_EXT = 0x8CEC; + public const int COLOR_ATTACHMENT13 = 0x8CED; + public const int COLOR_ATTACHMENT13_EXT = 0x8CED; + public const int COLOR_ATTACHMENT14 = 0x8CEE; + public const int COLOR_ATTACHMENT14_EXT = 0x8CEE; + public const int COLOR_ATTACHMENT15 = 0x8CEF; + public const int COLOR_ATTACHMENT15_EXT = 0x8CEF; + public const int COLOR_ATTACHMENT16 = 0x8CF0; + public const int COLOR_ATTACHMENT17 = 0x8CF1; + public const int COLOR_ATTACHMENT18 = 0x8CF2; + public const int COLOR_ATTACHMENT19 = 0x8CF3; + public const int COLOR_ATTACHMENT1_EXT = 0x8CE1; + public const int COLOR_ATTACHMENT2 = 0x8CE2; + public const int COLOR_ATTACHMENT20 = 0x8CF4; + public const int COLOR_ATTACHMENT21 = 0x8CF5; + public const int COLOR_ATTACHMENT22 = 0x8CF6; + public const int COLOR_ATTACHMENT23 = 0x8CF7; + public const int COLOR_ATTACHMENT24 = 0x8CF8; + public const int COLOR_ATTACHMENT25 = 0x8CF9; + public const int COLOR_ATTACHMENT26 = 0x8CFA; + public const int COLOR_ATTACHMENT27 = 0x8CFB; + public const int COLOR_ATTACHMENT28 = 0x8CFC; + public const int COLOR_ATTACHMENT29 = 0x8CFD; + public const int COLOR_ATTACHMENT2_EXT = 0x8CE2; + public const int COLOR_ATTACHMENT3 = 0x8CE3; + public const int COLOR_ATTACHMENT30 = 0x8CFE; + public const int COLOR_ATTACHMENT31 = 0x8CFF; + public const int COLOR_ATTACHMENT3_EXT = 0x8CE3; + public const int COLOR_ATTACHMENT4 = 0x8CE4; + public const int COLOR_ATTACHMENT4_EXT = 0x8CE4; + public const int COLOR_ATTACHMENT5 = 0x8CE5; + public const int COLOR_ATTACHMENT5_EXT = 0x8CE5; + public const int COLOR_ATTACHMENT6 = 0x8CE6; + public const int COLOR_ATTACHMENT6_EXT = 0x8CE6; + public const int COLOR_ATTACHMENT7 = 0x8CE7; + public const int COLOR_ATTACHMENT7_EXT = 0x8CE7; + public const int COLOR_ATTACHMENT8 = 0x8CE8; + public const int COLOR_ATTACHMENT8_EXT = 0x8CE8; + public const int COLOR_ATTACHMENT9 = 0x8CE9; + public const int COLOR_ATTACHMENT9_EXT = 0x8CE9; + public const int COLOR_BUFFER_BIT = 0x00004000; + public const int COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; + public const int COLOR_CLEAR_VALUE = 0x0C22; + public const int COLOR_COMPONENTS = 0x8283; + public const int COLOR_ENCODING = 0x8296; + public const int COLOR_FLOAT_APPLE = 0x8A0F; + public const int COLOR_INDEX12_EXT = 0x80E6; + public const int COLOR_INDEX16_EXT = 0x80E7; + public const int COLOR_INDEX1_EXT = 0x80E2; + public const int COLOR_INDEX2_EXT = 0x80E3; + public const int COLOR_INDEX4_EXT = 0x80E4; + public const int COLOR_INDEX8_EXT = 0x80E5; + public const int COLOR_LOGIC_OP = 0x0BF2; + public const int COLOR_MATRIX_SGI = 0x80B1; + public const int COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; + public const int COLOR_RENDERABLE = 0x8286; + public const int COLOR_SAMPLES_NV = 0x8E20; + public const int COLOR_SUM_ARB = 0x8458; + public const int COLOR_SUM_CLAMP_NV = 0x854F; + public const int COLOR_SUM_EXT = 0x8458; + public const int COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; + public const int COLOR_TABLE_BIAS_SGI = 0x80D7; + public const int COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; + public const int COLOR_TABLE_FORMAT_SGI = 0x80D8; + public const int COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; + public const int COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; + public const int COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; + public const int COLOR_TABLE_RED_SIZE_SGI = 0x80DA; + public const int COLOR_TABLE_SCALE_SGI = 0x80D6; + public const int COLOR_TABLE_SGI = 0x80D0; + public const int COLOR_TABLE_WIDTH_SGI = 0x80D9; + public const int COLOR_WRITEMASK = 0x0C23; + public const int COMBINE4_NV = 0x8503; + public const int COMBINER0_NV = 0x8550; + public const int COMBINER1_NV = 0x8551; + public const int COMBINER2_NV = 0x8552; + public const int COMBINER3_NV = 0x8553; + public const int COMBINER4_NV = 0x8554; + public const int COMBINER5_NV = 0x8555; + public const int COMBINER6_NV = 0x8556; + public const int COMBINER7_NV = 0x8557; + public const int COMBINER_AB_DOT_PRODUCT_NV = 0x8545; + public const int COMBINER_AB_OUTPUT_NV = 0x854A; + public const int COMBINER_BIAS_NV = 0x8549; + public const int COMBINER_CD_DOT_PRODUCT_NV = 0x8546; + public const int COMBINER_CD_OUTPUT_NV = 0x854B; + public const int COMBINER_COMPONENT_USAGE_NV = 0x8544; + public const int COMBINER_INPUT_NV = 0x8542; + public const int COMBINER_MAPPING_NV = 0x8543; + public const int COMBINER_MUX_SUM_NV = 0x8547; + public const int COMBINER_SCALE_NV = 0x8548; + public const int COMBINER_SUM_OUTPUT_NV = 0x854C; + public const int COMBINE_ALPHA_ARB = 0x8572; + public const int COMBINE_ALPHA_EXT = 0x8572; + public const int COMBINE_ARB = 0x8570; + public const int COMBINE_EXT = 0x8570; + public const int COMBINE_RGB_ARB = 0x8571; + public const int COMBINE_RGB_EXT = 0x8571; + public const int COMMAND_BARRIER_BIT = 0x00000040; + public const int COMMAND_BARRIER_BIT_EXT = 0x00000040; + public const int COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; + public const int COMPARE_REF_TO_TEXTURE = 0x884E; + public const int COMPARE_R_TO_TEXTURE_ARB = 0x884E; + public const int COMPATIBLE_SUBROUTINES = 0x8E4B; + public const int COMPILE_STATUS = 0x8B81; + public const int COMPLETION_STATUS_ARB = 0x91B1; + public const int COMPLETION_STATUS_KHR = 0x91B1; + public const int COMPRESSED_ALPHA_ARB = 0x84E9; + public const int COMPRESSED_INTENSITY_ARB = 0x84EC; + public const int COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; + public const int COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; + public const int COMPRESSED_LUMINANCE_ARB = 0x84EA; + public const int COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; + public const int COMPRESSED_R11_EAC = 0x9270; + public const int COMPRESSED_RED = 0x8225; + public const int COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; + public const int COMPRESSED_RED_RGTC1 = 0x8DBB; + public const int COMPRESSED_RED_RGTC1_EXT = 0x8DBB; + public const int COMPRESSED_RG = 0x8226; + public const int COMPRESSED_RG11_EAC = 0x9272; + public const int COMPRESSED_RGB = 0x84ED; + public const int COMPRESSED_RGB8_ETC2 = 0x9274; + public const int COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; + public const int COMPRESSED_RGBA = 0x84EE; + public const int COMPRESSED_RGBA8_ETC2_EAC = 0x9278; + public const int COMPRESSED_RGBA_ARB = 0x84EE; + public const int COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; + public const int COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; + public const int COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; + public const int COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; + public const int COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; + public const int COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; + public const int COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; + public const int COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; + public const int COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; + public const int COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; + public const int COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; + public const int COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; + public const int COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; + public const int COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; + public const int COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; + public const int COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; + public const int COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; + public const int COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; + public const int COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; + public const int COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; + public const int COMPRESSED_RGB_ARB = 0x84ED; + public const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; + public const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; + public const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; + public const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; + public const int COMPRESSED_RGB_FXT1_3DFX = 0x86B0; + public const int COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; + public const int COMPRESSED_RG_RGTC2 = 0x8DBD; + public const int COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; + public const int COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; + public const int COMPRESSED_SIGNED_R11_EAC = 0x9271; + public const int COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; + public const int COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; + public const int COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; + public const int COMPRESSED_SIGNED_RG11_EAC = 0x9273; + public const int COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; + public const int COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; + public const int COMPRESSED_SLUMINANCE_EXT = 0x8C4A; + public const int COMPRESSED_SRGB = 0x8C48; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; + public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; + public const int COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; + public const int COMPRESSED_SRGB8_ETC2 = 0x9275; + public const int COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; + public const int COMPRESSED_SRGB_ALPHA = 0x8C49; + public const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; + public const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; + public const int COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; + public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; + public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; + public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; + public const int COMPRESSED_SRGB_EXT = 0x8C48; + public const int COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; + public const int COMPRESSED_TEXTURE_FORMATS = 0x86A3; + public const int COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; + public const int COMPUTE_PROGRAM_NV = 0x90FB; + public const int COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; + public const int COMPUTE_SHADER = 0x91B9; + public const int COMPUTE_SHADER_BIT = 0x00000020; + public const int COMPUTE_SHADER_INVOCATIONS = 0x82F5; + public const int COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; + public const int COMPUTE_SUBROUTINE = 0x92ED; + public const int COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; + public const int COMPUTE_TEXTURE = 0x82A0; + public const int COMPUTE_WORK_GROUP_SIZE = 0x8267; + public const int COMP_BIT_ATI = 0x00000002; + public const int CONDITION_SATISFIED = 0x911C; + public const int CONFORMANT_NV = 0x9374; + public const int CONIC_CURVE_TO_NV = 0x1A; + public const int CONJOINT_NV = 0x9284; + public const int CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; + public const int CONSERVATIVE_RASTERIZATION_NV = 0x9346; + public const int CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; + public const int CONSERVATIVE_RASTER_DILATE_NV = 0x9379; + public const int CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; + public const int CONSERVATIVE_RASTER_MODE_NV = 0x954D; + public const int CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; + public const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; + public const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; + public const int CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; + public const int CONSTANT_ALPHA = 0x8003; + public const int CONSTANT_ALPHA_EXT = 0x8003; + public const int CONSTANT_ARB = 0x8576; + public const int CONSTANT_BORDER_HP = 0x8151; + public const int CONSTANT_COLOR = 0x8001; + public const int CONSTANT_COLOR0_NV = 0x852A; + public const int CONSTANT_COLOR1_NV = 0x852B; + public const int CONSTANT_COLOR_EXT = 0x8001; + public const int CONSTANT_EXT = 0x8576; + public const int CONST_EYE_NV = 0x86E5; + public const int CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; + public const int CONTEXT_CORE_PROFILE_BIT = 0x00000001; + public const int CONTEXT_FLAGS = 0x821E; + public const int CONTEXT_FLAG_DEBUG_BIT = 0x00000002; + public const int CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; + public const int CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008; + public const int CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; + public const int CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; + public const int CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; + public const int CONTEXT_LOST = 0x0507; + public const int CONTEXT_PROFILE_MASK = 0x9126; + public const int CONTEXT_RELEASE_BEHAVIOR = 0x82FB; + public const int CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; + public const int CONTEXT_ROBUST_ACCESS = 0x90F3; + public const int CONTINUOUS_AMD = 0x9007; + public const int CONTRAST_NV = 0x92A1; + public const int CONVEX_HULL_NV = 0x908B; + public const int CONVOLUTION_1D_EXT = 0x8010; + public const int CONVOLUTION_2D_EXT = 0x8011; + public const int CONVOLUTION_BORDER_COLOR_HP = 0x8154; + public const int CONVOLUTION_BORDER_MODE_EXT = 0x8013; + public const int CONVOLUTION_FILTER_BIAS_EXT = 0x8015; + public const int CONVOLUTION_FILTER_SCALE_EXT = 0x8014; + public const int CONVOLUTION_FORMAT_EXT = 0x8017; + public const int CONVOLUTION_HEIGHT_EXT = 0x8019; + public const int CONVOLUTION_HINT_SGIX = 0x8316; + public const int CONVOLUTION_WIDTH_EXT = 0x8018; + public const int CON_0_ATI = 0x8941; + public const int CON_10_ATI = 0x894B; + public const int CON_11_ATI = 0x894C; + public const int CON_12_ATI = 0x894D; + public const int CON_13_ATI = 0x894E; + public const int CON_14_ATI = 0x894F; + public const int CON_15_ATI = 0x8950; + public const int CON_16_ATI = 0x8951; + public const int CON_17_ATI = 0x8952; + public const int CON_18_ATI = 0x8953; + public const int CON_19_ATI = 0x8954; + public const int CON_1_ATI = 0x8942; + public const int CON_20_ATI = 0x8955; + public const int CON_21_ATI = 0x8956; + public const int CON_22_ATI = 0x8957; + public const int CON_23_ATI = 0x8958; + public const int CON_24_ATI = 0x8959; + public const int CON_25_ATI = 0x895A; + public const int CON_26_ATI = 0x895B; + public const int CON_27_ATI = 0x895C; + public const int CON_28_ATI = 0x895D; + public const int CON_29_ATI = 0x895E; + public const int CON_2_ATI = 0x8943; + public const int CON_30_ATI = 0x895F; + public const int CON_31_ATI = 0x8960; + public const int CON_3_ATI = 0x8944; + public const int CON_4_ATI = 0x8945; + public const int CON_5_ATI = 0x8946; + public const int CON_6_ATI = 0x8947; + public const int CON_7_ATI = 0x8948; + public const int CON_8_ATI = 0x8949; + public const int CON_9_ATI = 0x894A; + public const int COORD_REPLACE_ARB = 0x8862; + public const int COORD_REPLACE_NV = 0x8862; + public const int COPY = 0x1503; + public const int COPY_INVERTED = 0x150C; + public const int COPY_READ_BUFFER = 0x8F36; + public const int COPY_READ_BUFFER_BINDING = 0x8F36; + public const int COPY_WRITE_BUFFER = 0x8F37; + public const int COPY_WRITE_BUFFER_BINDING = 0x8F37; + public const int COUNTER_RANGE_AMD = 0x8BC1; + public const int COUNTER_TYPE_AMD = 0x8BC0; + public const int COUNT_DOWN_NV = 0x9089; + public const int COUNT_UP_NV = 0x9088; + public const int COVERAGE_MODULATION_NV = 0x9332; + public const int COVERAGE_MODULATION_TABLE_NV = 0x9331; + public const int COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; + public const int CUBIC_CURVE_TO_NV = 0x0C; + public const int CUBIC_EXT = 0x8334; + public const int CUBIC_HP = 0x815F; + public const int CULL_FACE = 0x0B44; + public const int CULL_FACE_MODE = 0x0B45; + public const int CULL_FRAGMENT_NV = 0x86E7; + public const int CULL_MODES_NV = 0x86E0; + public const int CULL_VERTEX_EXT = 0x81AA; + public const int CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; + public const int CULL_VERTEX_IBM = 103050; + public const int CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; + public const int CURRENT_ATTRIB_NV = 0x8626; + public const int CURRENT_BINORMAL_EXT = 0x843C; + public const int CURRENT_FOG_COORDINATE_EXT = 0x8453; + public const int CURRENT_MATRIX_ARB = 0x8641; + public const int CURRENT_MATRIX_INDEX_ARB = 0x8845; + public const int CURRENT_MATRIX_NV = 0x8641; + public const int CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; + public const int CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; + public const int CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; + public const int CURRENT_PALETTE_MATRIX_ARB = 0x8843; + public const int CURRENT_PROGRAM = 0x8B8D; + public const int CURRENT_QUERY = 0x8865; + public const int CURRENT_QUERY_ARB = 0x8865; + public const int CURRENT_RASTER_NORMAL_SGIX = 0x8406; + public const int CURRENT_SECONDARY_COLOR_EXT = 0x8459; + public const int CURRENT_TANGENT_EXT = 0x843B; + public const int CURRENT_TIME_NV = 0x8E28; + public const int CURRENT_VERTEX_ATTRIB = 0x8626; + public const int CURRENT_VERTEX_ATTRIB_ARB = 0x8626; + public const int CURRENT_VERTEX_EXT = 0x87E2; + public const int CURRENT_VERTEX_WEIGHT_EXT = 0x850B; + public const int CURRENT_WEIGHT_ARB = 0x86A8; + public const int CW = 0x0900; + public const int D3D12_FENCE_VALUE_EXT = 0x9595; + public const int DARKEN_KHR = 0x9297; + public const int DARKEN_NV = 0x9297; + public const int DATA_BUFFER_AMD = 0x9151; + public const int DEBUG_CALLBACK_FUNCTION = 0x8244; + public const int DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; + public const int DEBUG_CALLBACK_USER_PARAM = 0x8245; + public const int DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; + public const int DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; + public const int DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; + public const int DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; + public const int DEBUG_CATEGORY_OTHER_AMD = 0x9150; + public const int DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; + public const int DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; + public const int DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; + public const int DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; + public const int DEBUG_GROUP_STACK_DEPTH = 0x826D; + public const int DEBUG_LOGGED_MESSAGES = 0x9145; + public const int DEBUG_LOGGED_MESSAGES_AMD = 0x9145; + public const int DEBUG_LOGGED_MESSAGES_ARB = 0x9145; + public const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; + public const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; + public const int DEBUG_OUTPUT = 0x92E0; + public const int DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; + public const int DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; + public const int DEBUG_SEVERITY_HIGH = 0x9146; + public const int DEBUG_SEVERITY_HIGH_AMD = 0x9146; + public const int DEBUG_SEVERITY_HIGH_ARB = 0x9146; + public const int DEBUG_SEVERITY_LOW = 0x9148; + public const int DEBUG_SEVERITY_LOW_AMD = 0x9148; + public const int DEBUG_SEVERITY_LOW_ARB = 0x9148; + public const int DEBUG_SEVERITY_MEDIUM = 0x9147; + public const int DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; + public const int DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; + public const int DEBUG_SEVERITY_NOTIFICATION = 0x826B; + public const int DEBUG_SOURCE_API = 0x8246; + public const int DEBUG_SOURCE_API_ARB = 0x8246; + public const int DEBUG_SOURCE_APPLICATION = 0x824A; + public const int DEBUG_SOURCE_APPLICATION_ARB = 0x824A; + public const int DEBUG_SOURCE_OTHER = 0x824B; + public const int DEBUG_SOURCE_OTHER_ARB = 0x824B; + public const int DEBUG_SOURCE_SHADER_COMPILER = 0x8248; + public const int DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; + public const int DEBUG_SOURCE_THIRD_PARTY = 0x8249; + public const int DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; + public const int DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; + public const int DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; + public const int DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; + public const int DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; + public const int DEBUG_TYPE_ERROR = 0x824C; + public const int DEBUG_TYPE_ERROR_ARB = 0x824C; + public const int DEBUG_TYPE_MARKER = 0x8268; + public const int DEBUG_TYPE_OTHER = 0x8251; + public const int DEBUG_TYPE_OTHER_ARB = 0x8251; + public const int DEBUG_TYPE_PERFORMANCE = 0x8250; + public const int DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; + public const int DEBUG_TYPE_POP_GROUP = 0x826A; + public const int DEBUG_TYPE_PORTABILITY = 0x824F; + public const int DEBUG_TYPE_PORTABILITY_ARB = 0x824F; + public const int DEBUG_TYPE_PUSH_GROUP = 0x8269; + public const int DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; + public const int DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; + public const int DECODE_EXT = 0x8A49; + public const int DECR = 0x1E03; + public const int DECR_WRAP = 0x8508; + public const int DECR_WRAP_EXT = 0x8508; + public const int DEDICATED_MEMORY_OBJECT_EXT = 0x9581; + public const int DEFORMATIONS_MASK_SGIX = 0x8196; + public const int DELETE_STATUS = 0x8B80; + public const int DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; + public const int DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; + public const int DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; + public const int DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; + public const int DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; + public const int DEPTH = 0x1801; + public const int DEPTH24_STENCIL8 = 0x88F0; + public const int DEPTH24_STENCIL8_EXT = 0x88F0; + public const int DEPTH32F_STENCIL8 = 0x8CAD; + public const int DEPTH32F_STENCIL8_NV = 0x8DAC; + public const int DEPTH_ATTACHMENT = 0x8D00; + public const int DEPTH_ATTACHMENT_EXT = 0x8D00; + public const int DEPTH_BOUNDS_EXT = 0x8891; + public const int DEPTH_BOUNDS_TEST_EXT = 0x8890; + public const int DEPTH_BUFFER_BIT = 0x00000100; + public const int DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; + public const int DEPTH_CLAMP = 0x864F; + public const int DEPTH_CLAMP_FAR_AMD = 0x901F; + public const int DEPTH_CLAMP_NEAR_AMD = 0x901E; + public const int DEPTH_CLAMP_NV = 0x864F; + public const int DEPTH_CLEAR_VALUE = 0x0B73; + public const int DEPTH_COMPONENT = 0x1902; + public const int DEPTH_COMPONENT16 = 0x81A5; + public const int DEPTH_COMPONENT16_ARB = 0x81A5; + public const int DEPTH_COMPONENT16_SGIX = 0x81A5; + public const int DEPTH_COMPONENT24 = 0x81A6; + public const int DEPTH_COMPONENT24_ARB = 0x81A6; + public const int DEPTH_COMPONENT24_SGIX = 0x81A6; + public const int DEPTH_COMPONENT32 = 0x81A7; + public const int DEPTH_COMPONENT32F = 0x8CAC; + public const int DEPTH_COMPONENT32F_NV = 0x8DAB; + public const int DEPTH_COMPONENT32_ARB = 0x81A7; + public const int DEPTH_COMPONENT32_SGIX = 0x81A7; + public const int DEPTH_COMPONENTS = 0x8284; + public const int DEPTH_FUNC = 0x0B74; + public const int DEPTH_RANGE = 0x0B70; + public const int DEPTH_RENDERABLE = 0x8287; + public const int DEPTH_SAMPLES_NV = 0x932D; + public const int DEPTH_STENCIL = 0x84F9; + public const int DEPTH_STENCIL_ATTACHMENT = 0x821A; + public const int DEPTH_STENCIL_EXT = 0x84F9; + public const int DEPTH_STENCIL_NV = 0x84F9; + public const int DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; + public const int DEPTH_STENCIL_TO_BGRA_NV = 0x886F; + public const int DEPTH_STENCIL_TO_RGBA_NV = 0x886E; + public const int DEPTH_TEST = 0x0B71; + public const int DEPTH_TEXTURE_MODE_ARB = 0x884B; + public const int DEPTH_WRITEMASK = 0x0B72; + public const int DETACHED_BUFFERS_NV = 0x95AB; + public const int DETACHED_MEMORY_INCARNATION_NV = 0x95A9; + public const int DETACHED_TEXTURES_NV = 0x95AA; + public const int DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; + public const int DETAIL_TEXTURE_2D_SGIS = 0x8095; + public const int DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; + public const int DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; + public const int DETAIL_TEXTURE_MODE_SGIS = 0x809B; + public const int DEVICE_LUID_EXT = 0x9599; + public const int DEVICE_NODE_MASK_EXT = 0x959A; + public const int DEVICE_UUID_EXT = 0x9597; + public const int DIFFERENCE_KHR = 0x929E; + public const int DIFFERENCE_NV = 0x929E; + public const int DISCARD_ATI = 0x8763; + public const int DISCARD_NV = 0x8530; + public const int DISCRETE_AMD = 0x9006; + public const int DISJOINT_NV = 0x9283; + public const int DISPATCH_INDIRECT_BUFFER = 0x90EE; + public const int DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; + public const int DISTANCE_ATTENUATION_EXT = 0x8129; + public const int DISTANCE_ATTENUATION_SGIS = 0x8129; + public const int DITHER = 0x0BD0; + public const int DONT_CARE = 0x1100; + public const int DOT2_ADD_ATI = 0x896C; + public const int DOT3_ATI = 0x8966; + public const int DOT3_RGBA_ARB = 0x86AF; + public const int DOT3_RGBA_EXT = 0x8741; + public const int DOT3_RGB_ARB = 0x86AE; + public const int DOT3_RGB_EXT = 0x8740; + public const int DOT4_ATI = 0x8967; + public const int DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; + public const int DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; + public const int DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; + public const int DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; + public const int DOT_PRODUCT_NV = 0x86EC; + public const int DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; + public const int DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; + public const int DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; + public const int DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; + public const int DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; + public const int DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; + public const int DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; + public const int DOUBLE = 0x140A; + public const int DOUBLEBUFFER = 0x0C32; + public const int DOUBLE_MAT2 = 0x8F46; + public const int DOUBLE_MAT2_EXT = 0x8F46; + public const int DOUBLE_MAT2x3 = 0x8F49; + public const int DOUBLE_MAT2x3_EXT = 0x8F49; + public const int DOUBLE_MAT2x4 = 0x8F4A; + public const int DOUBLE_MAT2x4_EXT = 0x8F4A; + public const int DOUBLE_MAT3 = 0x8F47; + public const int DOUBLE_MAT3_EXT = 0x8F47; + public const int DOUBLE_MAT3x2 = 0x8F4B; + public const int DOUBLE_MAT3x2_EXT = 0x8F4B; + public const int DOUBLE_MAT3x4 = 0x8F4C; + public const int DOUBLE_MAT3x4_EXT = 0x8F4C; + public const int DOUBLE_MAT4 = 0x8F48; + public const int DOUBLE_MAT4_EXT = 0x8F48; + public const int DOUBLE_MAT4x2 = 0x8F4D; + public const int DOUBLE_MAT4x2_EXT = 0x8F4D; + public const int DOUBLE_MAT4x3 = 0x8F4E; + public const int DOUBLE_MAT4x3_EXT = 0x8F4E; + public const int DOUBLE_VEC2 = 0x8FFC; + public const int DOUBLE_VEC2_EXT = 0x8FFC; + public const int DOUBLE_VEC3 = 0x8FFD; + public const int DOUBLE_VEC3_EXT = 0x8FFD; + public const int DOUBLE_VEC4 = 0x8FFE; + public const int DOUBLE_VEC4_EXT = 0x8FFE; + public const int DRAW_ARRAYS_COMMAND_NV = 0x0003; + public const int DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; + public const int DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; + public const int DRAW_BUFFER = 0x0C01; + public const int DRAW_BUFFER0 = 0x8825; + public const int DRAW_BUFFER0_ARB = 0x8825; + public const int DRAW_BUFFER0_ATI = 0x8825; + public const int DRAW_BUFFER1 = 0x8826; + public const int DRAW_BUFFER10 = 0x882F; + public const int DRAW_BUFFER10_ARB = 0x882F; + public const int DRAW_BUFFER10_ATI = 0x882F; + public const int DRAW_BUFFER11 = 0x8830; + public const int DRAW_BUFFER11_ARB = 0x8830; + public const int DRAW_BUFFER11_ATI = 0x8830; + public const int DRAW_BUFFER12 = 0x8831; + public const int DRAW_BUFFER12_ARB = 0x8831; + public const int DRAW_BUFFER12_ATI = 0x8831; + public const int DRAW_BUFFER13 = 0x8832; + public const int DRAW_BUFFER13_ARB = 0x8832; + public const int DRAW_BUFFER13_ATI = 0x8832; + public const int DRAW_BUFFER14 = 0x8833; + public const int DRAW_BUFFER14_ARB = 0x8833; + public const int DRAW_BUFFER14_ATI = 0x8833; + public const int DRAW_BUFFER15 = 0x8834; + public const int DRAW_BUFFER15_ARB = 0x8834; + public const int DRAW_BUFFER15_ATI = 0x8834; + public const int DRAW_BUFFER1_ARB = 0x8826; + public const int DRAW_BUFFER1_ATI = 0x8826; + public const int DRAW_BUFFER2 = 0x8827; + public const int DRAW_BUFFER2_ARB = 0x8827; + public const int DRAW_BUFFER2_ATI = 0x8827; + public const int DRAW_BUFFER3 = 0x8828; + public const int DRAW_BUFFER3_ARB = 0x8828; + public const int DRAW_BUFFER3_ATI = 0x8828; + public const int DRAW_BUFFER4 = 0x8829; + public const int DRAW_BUFFER4_ARB = 0x8829; + public const int DRAW_BUFFER4_ATI = 0x8829; + public const int DRAW_BUFFER5 = 0x882A; + public const int DRAW_BUFFER5_ARB = 0x882A; + public const int DRAW_BUFFER5_ATI = 0x882A; + public const int DRAW_BUFFER6 = 0x882B; + public const int DRAW_BUFFER6_ARB = 0x882B; + public const int DRAW_BUFFER6_ATI = 0x882B; + public const int DRAW_BUFFER7 = 0x882C; + public const int DRAW_BUFFER7_ARB = 0x882C; + public const int DRAW_BUFFER7_ATI = 0x882C; + public const int DRAW_BUFFER8 = 0x882D; + public const int DRAW_BUFFER8_ARB = 0x882D; + public const int DRAW_BUFFER8_ATI = 0x882D; + public const int DRAW_BUFFER9 = 0x882E; + public const int DRAW_BUFFER9_ARB = 0x882E; + public const int DRAW_BUFFER9_ATI = 0x882E; + public const int DRAW_ELEMENTS_COMMAND_NV = 0x0002; + public const int DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; + public const int DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; + public const int DRAW_FRAMEBUFFER = 0x8CA9; + public const int DRAW_FRAMEBUFFER_BINDING = 0x8CA6; + public const int DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; + public const int DRAW_FRAMEBUFFER_EXT = 0x8CA9; + public const int DRAW_INDIRECT_ADDRESS_NV = 0x8F41; + public const int DRAW_INDIRECT_BUFFER = 0x8F3F; + public const int DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; + public const int DRAW_INDIRECT_LENGTH_NV = 0x8F42; + public const int DRAW_INDIRECT_UNIFIED_NV = 0x8F40; + public const int DRAW_PIXELS_APPLE = 0x8A0A; + public const int DRIVER_UUID_EXT = 0x9598; + public const int DSDT8_MAG8_INTENSITY8_NV = 0x870B; + public const int DSDT8_MAG8_NV = 0x870A; + public const int DSDT8_NV = 0x8709; + public const int DSDT_MAG_INTENSITY_NV = 0x86DC; + public const int DSDT_MAG_NV = 0x86F6; + public const int DSDT_MAG_VIB_NV = 0x86F7; + public const int DSDT_NV = 0x86F5; + public const int DST_ALPHA = 0x0304; + public const int DST_ATOP_NV = 0x928F; + public const int DST_COLOR = 0x0306; + public const int DST_IN_NV = 0x928B; + public const int DST_NV = 0x9287; + public const int DST_OUT_NV = 0x928D; + public const int DST_OVER_NV = 0x9289; + public const int DS_BIAS_NV = 0x8716; + public const int DS_SCALE_NV = 0x8710; + public const int DT_BIAS_NV = 0x8717; + public const int DT_SCALE_NV = 0x8711; + public const int DU8DV8_ATI = 0x877A; + public const int DUAL_ALPHA12_SGIS = 0x8112; + public const int DUAL_ALPHA16_SGIS = 0x8113; + public const int DUAL_ALPHA4_SGIS = 0x8110; + public const int DUAL_ALPHA8_SGIS = 0x8111; + public const int DUAL_INTENSITY12_SGIS = 0x811A; + public const int DUAL_INTENSITY16_SGIS = 0x811B; + public const int DUAL_INTENSITY4_SGIS = 0x8118; + public const int DUAL_INTENSITY8_SGIS = 0x8119; + public const int DUAL_LUMINANCE12_SGIS = 0x8116; + public const int DUAL_LUMINANCE16_SGIS = 0x8117; + public const int DUAL_LUMINANCE4_SGIS = 0x8114; + public const int DUAL_LUMINANCE8_SGIS = 0x8115; + public const int DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; + public const int DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; + public const int DUAL_TEXTURE_SELECT_SGIS = 0x8124; + public const int DUDV_ATI = 0x8779; + public const int DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; + public const int DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; + public const int DYNAMIC_ATI = 0x8761; + public const int DYNAMIC_COPY = 0x88EA; + public const int DYNAMIC_COPY_ARB = 0x88EA; + public const int DYNAMIC_DRAW = 0x88E8; + public const int DYNAMIC_DRAW_ARB = 0x88E8; + public const int DYNAMIC_READ = 0x88E9; + public const int DYNAMIC_READ_ARB = 0x88E9; + public const int DYNAMIC_STORAGE_BIT = 0x0100; + public const int EDGEFLAG_BIT_PGI = 0x00040000; + public const int EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; + public const int EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; + public const int EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; + public const int EDGE_FLAG_ARRAY_EXT = 0x8079; + public const int EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; + public const int EDGE_FLAG_ARRAY_LIST_IBM = 103075; + public const int EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; + public const int EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; + public const int EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; + public const int EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; + public const int EIGHTH_BIT_ATI = 0x00000020; + public const int ELEMENT_ADDRESS_COMMAND_NV = 0x0008; + public const int ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; + public const int ELEMENT_ARRAY_APPLE = 0x8A0C; + public const int ELEMENT_ARRAY_ATI = 0x8768; + public const int ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; + public const int ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; + public const int ELEMENT_ARRAY_BUFFER = 0x8893; + public const int ELEMENT_ARRAY_BUFFER_ARB = 0x8893; + public const int ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; + public const int ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; + public const int ELEMENT_ARRAY_LENGTH_NV = 0x8F33; + public const int ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; + public const int ELEMENT_ARRAY_POINTER_ATI = 0x876A; + public const int ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; + public const int ELEMENT_ARRAY_TYPE_ATI = 0x8769; + public const int ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; + public const int EMBOSS_CONSTANT_NV = 0x855E; + public const int EMBOSS_LIGHT_NV = 0x855D; + public const int EMBOSS_MAP_NV = 0x855F; + public const int EQUAL = 0x0202; + public const int EQUIV = 0x1509; + public const int EVAL_2D_NV = 0x86C0; + public const int EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; + public const int EVAL_TRIANGULAR_2D_NV = 0x86C1; + public const int EVAL_VERTEX_ATTRIB0_NV = 0x86C6; + public const int EVAL_VERTEX_ATTRIB10_NV = 0x86D0; + public const int EVAL_VERTEX_ATTRIB11_NV = 0x86D1; + public const int EVAL_VERTEX_ATTRIB12_NV = 0x86D2; + public const int EVAL_VERTEX_ATTRIB13_NV = 0x86D3; + public const int EVAL_VERTEX_ATTRIB14_NV = 0x86D4; + public const int EVAL_VERTEX_ATTRIB15_NV = 0x86D5; + public const int EVAL_VERTEX_ATTRIB1_NV = 0x86C7; + public const int EVAL_VERTEX_ATTRIB2_NV = 0x86C8; + public const int EVAL_VERTEX_ATTRIB3_NV = 0x86C9; + public const int EVAL_VERTEX_ATTRIB4_NV = 0x86CA; + public const int EVAL_VERTEX_ATTRIB5_NV = 0x86CB; + public const int EVAL_VERTEX_ATTRIB6_NV = 0x86CC; + public const int EVAL_VERTEX_ATTRIB7_NV = 0x86CD; + public const int EVAL_VERTEX_ATTRIB8_NV = 0x86CE; + public const int EVAL_VERTEX_ATTRIB9_NV = 0x86CF; + public const int EXCLUSION_KHR = 0x92A0; + public const int EXCLUSION_NV = 0x92A0; + public const int EXCLUSIVE_EXT = 0x8F11; + public const int EXPAND_NEGATE_NV = 0x8539; + public const int EXPAND_NORMAL_NV = 0x8538; + public const int EXTENSIONS = 0x1F03; + public const int EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; + public const int EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; + public const int EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; + public const int EYE_LINE_SGIS = 0x81F6; + public const int EYE_PLANE = 0x2502; + public const int EYE_PLANE_ABSOLUTE_NV = 0x855C; + public const int EYE_POINT_SGIS = 0x81F4; + public const int EYE_RADIAL_NV = 0x855B; + public const int E_TIMES_F_NV = 0x8531; + public const int FACTOR_MAX_AMD = 0x901D; + public const int FACTOR_MIN_AMD = 0x901C; + public const int FAILURE_NV = 0x9030; + public const int FALSE = 0; + public const int FASTEST = 0x1101; + public const int FENCE_APPLE = 0x8A0B; + public const int FENCE_CONDITION_NV = 0x84F4; + public const int FENCE_STATUS_NV = 0x84F3; + public const int FIELDS_NV = 0x8E27; + public const int FIELD_LOWER_NV = 0x9023; + public const int FIELD_UPPER_NV = 0x9022; + public const int FILE_NAME_NV = 0x9074; + public const int FILL = 0x1B02; + public const int FILL_RECTANGLE_NV = 0x933C; + public const int FILTER = 0x829A; + public const int FILTER4_SGIS = 0x8146; + public const int FIRST_TO_REST_NV = 0x90AF; + public const int FIRST_VERTEX_CONVENTION = 0x8E4D; + public const int FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; + public const int FIXED = 0x140C; + public const int FIXED_OES = 0x140C; + public const int FIXED_ONLY = 0x891D; + public const int FIXED_ONLY_ARB = 0x891D; + public const int FLOAT = 0x1406; + public const int FLOAT16_MAT2_AMD = 0x91C5; + public const int FLOAT16_MAT2x3_AMD = 0x91C8; + public const int FLOAT16_MAT2x4_AMD = 0x91C9; + public const int FLOAT16_MAT3_AMD = 0x91C6; + public const int FLOAT16_MAT3x2_AMD = 0x91CA; + public const int FLOAT16_MAT3x4_AMD = 0x91CB; + public const int FLOAT16_MAT4_AMD = 0x91C7; + public const int FLOAT16_MAT4x2_AMD = 0x91CC; + public const int FLOAT16_MAT4x3_AMD = 0x91CD; + public const int FLOAT16_NV = 0x8FF8; + public const int FLOAT16_VEC2_NV = 0x8FF9; + public const int FLOAT16_VEC3_NV = 0x8FFA; + public const int FLOAT16_VEC4_NV = 0x8FFB; + public const int FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; + public const int FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; + public const int FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; + public const int FLOAT_MAT2 = 0x8B5A; + public const int FLOAT_MAT2_ARB = 0x8B5A; + public const int FLOAT_MAT2x3 = 0x8B65; + public const int FLOAT_MAT2x4 = 0x8B66; + public const int FLOAT_MAT3 = 0x8B5B; + public const int FLOAT_MAT3_ARB = 0x8B5B; + public const int FLOAT_MAT3x2 = 0x8B67; + public const int FLOAT_MAT3x4 = 0x8B68; + public const int FLOAT_MAT4 = 0x8B5C; + public const int FLOAT_MAT4_ARB = 0x8B5C; + public const int FLOAT_MAT4x2 = 0x8B69; + public const int FLOAT_MAT4x3 = 0x8B6A; + public const int FLOAT_R16_NV = 0x8884; + public const int FLOAT_R32_NV = 0x8885; + public const int FLOAT_RG16_NV = 0x8886; + public const int FLOAT_RG32_NV = 0x8887; + public const int FLOAT_RGB16_NV = 0x8888; + public const int FLOAT_RGB32_NV = 0x8889; + public const int FLOAT_RGBA16_NV = 0x888A; + public const int FLOAT_RGBA32_NV = 0x888B; + public const int FLOAT_RGBA_MODE_NV = 0x888E; + public const int FLOAT_RGBA_NV = 0x8883; + public const int FLOAT_RGB_NV = 0x8882; + public const int FLOAT_RG_NV = 0x8881; + public const int FLOAT_R_NV = 0x8880; + public const int FLOAT_VEC2 = 0x8B50; + public const int FLOAT_VEC2_ARB = 0x8B50; + public const int FLOAT_VEC3 = 0x8B51; + public const int FLOAT_VEC3_ARB = 0x8B51; + public const int FLOAT_VEC4 = 0x8B52; + public const int FLOAT_VEC4_ARB = 0x8B52; + public const int FOG = 0x0B60; + public const int FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; + public const int FOG_COORDINATE_ARRAY_EXT = 0x8457; + public const int FOG_COORDINATE_ARRAY_LIST_IBM = 103076; + public const int FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; + public const int FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; + public const int FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; + public const int FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; + public const int FOG_COORDINATE_EXT = 0x8451; + public const int FOG_COORDINATE_SOURCE_EXT = 0x8450; + public const int FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; + public const int FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; + public const int FOG_DISTANCE_MODE_NV = 0x855A; + public const int FOG_FUNC_POINTS_SGIS = 0x812B; + public const int FOG_FUNC_SGIS = 0x812A; + public const int FOG_OFFSET_SGIX = 0x8198; + public const int FOG_OFFSET_VALUE_SGIX = 0x8199; + public const int FOG_SPECULAR_TEXTURE_WIN = 0x80EC; + public const int FONT_ASCENDER_BIT_NV = 0x00200000; + public const int FONT_DESCENDER_BIT_NV = 0x00400000; + public const int FONT_GLYPHS_AVAILABLE_NV = 0x9368; + public const int FONT_HAS_KERNING_BIT_NV = 0x10000000; + public const int FONT_HEIGHT_BIT_NV = 0x00800000; + public const int FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; + public const int FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; + public const int FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; + public const int FONT_TARGET_UNAVAILABLE_NV = 0x9369; + public const int FONT_UNAVAILABLE_NV = 0x936A; + public const int FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; + public const int FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; + public const int FONT_UNINTELLIGIBLE_NV = 0x936B; + public const int FONT_UNITS_PER_EM_BIT_NV = 0x00100000; + public const int FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; + public const int FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; + public const int FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; + public const int FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; + public const int FORCE_BLUE_TO_ONE_NV = 0x8860; + public const int FORMAT_SUBSAMPLE_244_244_OML = 0x8983; + public const int FORMAT_SUBSAMPLE_24_24_OML = 0x8982; + public const int FRACTIONAL_EVEN = 0x8E7C; + public const int FRACTIONAL_ODD = 0x8E7B; + public const int FRAGMENT_COLOR_EXT = 0x834C; + public const int FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; + public const int FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; + public const int FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; + public const int FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; + public const int FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; + public const int FRAGMENT_DEPTH_EXT = 0x8452; + public const int FRAGMENT_INPUT_NV = 0x936D; + public const int FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; + public const int FRAGMENT_LIGHT0_SGIX = 0x840C; + public const int FRAGMENT_LIGHT1_SGIX = 0x840D; + public const int FRAGMENT_LIGHT2_SGIX = 0x840E; + public const int FRAGMENT_LIGHT3_SGIX = 0x840F; + public const int FRAGMENT_LIGHT4_SGIX = 0x8410; + public const int FRAGMENT_LIGHT5_SGIX = 0x8411; + public const int FRAGMENT_LIGHT6_SGIX = 0x8412; + public const int FRAGMENT_LIGHT7_SGIX = 0x8413; + public const int FRAGMENT_LIGHTING_SGIX = 0x8400; + public const int FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; + public const int FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; + public const int FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; + public const int FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; + public const int FRAGMENT_MATERIAL_EXT = 0x8349; + public const int FRAGMENT_NORMAL_EXT = 0x834A; + public const int FRAGMENT_PROGRAM_ARB = 0x8804; + public const int FRAGMENT_PROGRAM_BINDING_NV = 0x8873; + public const int FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; + public const int FRAGMENT_PROGRAM_NV = 0x8870; + public const int FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; + public const int FRAGMENT_SHADER = 0x8B30; + public const int FRAGMENT_SHADER_ARB = 0x8B30; + public const int FRAGMENT_SHADER_ATI = 0x8920; + public const int FRAGMENT_SHADER_BIT = 0x00000002; + public const int FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; + public const int FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; + public const int FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; + public const int FRAGMENT_SHADER_INVOCATIONS = 0x82F4; + public const int FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; + public const int FRAGMENT_SUBROUTINE = 0x92EC; + public const int FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; + public const int FRAGMENT_TEXTURE = 0x829F; + public const int FRAMEBUFFER = 0x8D40; + public const int FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; + public const int FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; + public const int FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; + public const int FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; + public const int FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; + public const int FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; + public const int FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; + public const int FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; + public const int FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; + public const int FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; + public const int FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; + public const int FRAMEBUFFER_BARRIER_BIT = 0x00000400; + public const int FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; + public const int FRAMEBUFFER_BINDING = 0x8CA6; + public const int FRAMEBUFFER_BINDING_EXT = 0x8CA6; + public const int FRAMEBUFFER_BLEND = 0x828B; + public const int FRAMEBUFFER_COMPLETE = 0x8CD5; + public const int FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; + public const int FRAMEBUFFER_DEFAULT = 0x8218; + public const int FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; + public const int FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; + public const int FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; + public const int FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; + public const int FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; + public const int FRAMEBUFFER_EXT = 0x8D40; + public const int FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; + public const int FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; + public const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; + public const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; + public const int FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; + public const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; + public const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; + public const int FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; + public const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; + public const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; + public const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; + public const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; + public const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; + public const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; + public const int FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; + public const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; + public const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; + public const int FRAMEBUFFER_RENDERABLE = 0x8289; + public const int FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; + public const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; + public const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; + public const int FRAMEBUFFER_SRGB = 0x8DB9; + public const int FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; + public const int FRAMEBUFFER_SRGB_EXT = 0x8DB9; + public const int FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; + public const int FRAMEBUFFER_UNDEFINED = 0x8219; + public const int FRAMEBUFFER_UNSUPPORTED = 0x8CDD; + public const int FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; + public const int FRAMEZOOM_FACTOR_SGIX = 0x818C; + public const int FRAMEZOOM_SGIX = 0x818B; + public const int FRAME_NV = 0x8E26; + public const int FRONT = 0x0404; + public const int FRONT_AND_BACK = 0x0408; + public const int FRONT_FACE = 0x0B46; + public const int FRONT_FACE_COMMAND_NV = 0x0012; + public const int FRONT_LEFT = 0x0400; + public const int FRONT_RIGHT = 0x0401; + public const int FULL_RANGE_EXT = 0x87E1; + public const int FULL_STIPPLE_HINT_PGI = 0x1A219; + public const int FULL_SUPPORT = 0x82B7; + public const int FUNC_ADD = 0x8006; + public const int FUNC_ADD_EXT = 0x8006; + public const int FUNC_REVERSE_SUBTRACT = 0x800B; + public const int FUNC_REVERSE_SUBTRACT_EXT = 0x800B; + public const int FUNC_SUBTRACT = 0x800A; + public const int FUNC_SUBTRACT_EXT = 0x800A; + public const int GENERATE_MIPMAP_HINT_SGIS = 0x8192; + public const int GENERATE_MIPMAP_SGIS = 0x8191; + public const int GENERIC_ATTRIB_NV = 0x8C7D; + public const int GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; + public const int GEOMETRY_DEFORMATION_SGIX = 0x8194; + public const int GEOMETRY_INPUT_TYPE = 0x8917; + public const int GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; + public const int GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; + public const int GEOMETRY_OUTPUT_TYPE = 0x8918; + public const int GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; + public const int GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; + public const int GEOMETRY_PROGRAM_NV = 0x8C26; + public const int GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; + public const int GEOMETRY_SHADER = 0x8DD9; + public const int GEOMETRY_SHADER_ARB = 0x8DD9; + public const int GEOMETRY_SHADER_BIT = 0x00000004; + public const int GEOMETRY_SHADER_EXT = 0x8DD9; + public const int GEOMETRY_SHADER_INVOCATIONS = 0x887F; + public const int GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3; + public const int GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; + public const int GEOMETRY_SUBROUTINE = 0x92EB; + public const int GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; + public const int GEOMETRY_TEXTURE = 0x829E; + public const int GEOMETRY_VERTICES_OUT = 0x8916; + public const int GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; + public const int GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; + public const int GEQUAL = 0x0206; + public const int GET_TEXTURE_IMAGE_FORMAT = 0x8291; + public const int GET_TEXTURE_IMAGE_TYPE = 0x8292; + public const int GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; + public const int GLOBAL_ALPHA_SUN = 0x81D9; + public const int GLYPH_HAS_KERNING_BIT_NV = 0x100; + public const int GLYPH_HEIGHT_BIT_NV = 0x02; + public const int GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; + public const int GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; + public const int GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; + public const int GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; + public const int GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; + public const int GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; + public const int GLYPH_WIDTH_BIT_NV = 0x01; + public const int GPU_ADDRESS_NV = 0x8F34; + public const int GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; + public const int GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; + public const int GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; + public const int GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; + public const int GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; + public const int GREATER = 0x0204; + public const int GREEN = 0x1904; + public const int GREEN_BIT_ATI = 0x00000002; + public const int GREEN_INTEGER = 0x8D95; + public const int GREEN_INTEGER_EXT = 0x8D95; + public const int GREEN_MAX_CLAMP_INGR = 0x8565; + public const int GREEN_MIN_CLAMP_INGR = 0x8561; + public const int GREEN_NV = 0x1904; + public const int GUILTY_CONTEXT_RESET = 0x8253; + public const int GUILTY_CONTEXT_RESET_ARB = 0x8253; + public const int HALF_APPLE = 0x140B; + public const int HALF_BIAS_NEGATE_NV = 0x853B; + public const int HALF_BIAS_NORMAL_NV = 0x853A; + public const int HALF_BIT_ATI = 0x00000008; + public const int HALF_FLOAT = 0x140B; + public const int HALF_FLOAT_ARB = 0x140B; + public const int HALF_FLOAT_NV = 0x140B; + public const int HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; + public const int HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; + public const int HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; + public const int HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; + public const int HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; + public const int HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; + public const int HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; + public const int HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; + public const int HARDLIGHT_KHR = 0x929B; + public const int HARDLIGHT_NV = 0x929B; + public const int HARDMIX_NV = 0x92A9; + public const int HIGH_FLOAT = 0x8DF2; + public const int HIGH_INT = 0x8DF5; + public const int HILO16_NV = 0x86F8; + public const int HILO8_NV = 0x885E; + public const int HILO_NV = 0x86F4; + public const int HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; + public const int HISTOGRAM_BLUE_SIZE_EXT = 0x802A; + public const int HISTOGRAM_EXT = 0x8024; + public const int HISTOGRAM_FORMAT_EXT = 0x8027; + public const int HISTOGRAM_GREEN_SIZE_EXT = 0x8029; + public const int HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; + public const int HISTOGRAM_RED_SIZE_EXT = 0x8028; + public const int HISTOGRAM_SINK_EXT = 0x802D; + public const int HISTOGRAM_WIDTH_EXT = 0x8026; + public const int HI_BIAS_NV = 0x8714; + public const int HI_SCALE_NV = 0x870E; + public const int HORIZONTAL_LINE_TO_NV = 0x06; + public const int HSL_COLOR_KHR = 0x92AF; + public const int HSL_COLOR_NV = 0x92AF; + public const int HSL_HUE_KHR = 0x92AD; + public const int HSL_HUE_NV = 0x92AD; + public const int HSL_LUMINOSITY_KHR = 0x92B0; + public const int HSL_LUMINOSITY_NV = 0x92B0; + public const int HSL_SATURATION_KHR = 0x92AE; + public const int HSL_SATURATION_NV = 0x92AE; + public const int IDENTITY_NV = 0x862A; + public const int IGNORE_BORDER_HP = 0x8150; + public const int IMAGE_1D = 0x904C; + public const int IMAGE_1D_ARRAY = 0x9052; + public const int IMAGE_1D_ARRAY_EXT = 0x9052; + public const int IMAGE_1D_EXT = 0x904C; + public const int IMAGE_2D = 0x904D; + public const int IMAGE_2D_ARRAY = 0x9053; + public const int IMAGE_2D_ARRAY_EXT = 0x9053; + public const int IMAGE_2D_EXT = 0x904D; + public const int IMAGE_2D_MULTISAMPLE = 0x9055; + public const int IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; + public const int IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; + public const int IMAGE_2D_MULTISAMPLE_EXT = 0x9055; + public const int IMAGE_2D_RECT = 0x904F; + public const int IMAGE_2D_RECT_EXT = 0x904F; + public const int IMAGE_3D = 0x904E; + public const int IMAGE_3D_EXT = 0x904E; + public const int IMAGE_BINDING_ACCESS = 0x8F3E; + public const int IMAGE_BINDING_ACCESS_EXT = 0x8F3E; + public const int IMAGE_BINDING_FORMAT = 0x906E; + public const int IMAGE_BINDING_FORMAT_EXT = 0x906E; + public const int IMAGE_BINDING_LAYER = 0x8F3D; + public const int IMAGE_BINDING_LAYERED = 0x8F3C; + public const int IMAGE_BINDING_LAYERED_EXT = 0x8F3C; + public const int IMAGE_BINDING_LAYER_EXT = 0x8F3D; + public const int IMAGE_BINDING_LEVEL = 0x8F3B; + public const int IMAGE_BINDING_LEVEL_EXT = 0x8F3B; + public const int IMAGE_BINDING_NAME = 0x8F3A; + public const int IMAGE_BINDING_NAME_EXT = 0x8F3A; + public const int IMAGE_BUFFER = 0x9051; + public const int IMAGE_BUFFER_EXT = 0x9051; + public const int IMAGE_CLASS_10_10_10_2 = 0x82C3; + public const int IMAGE_CLASS_11_11_10 = 0x82C2; + public const int IMAGE_CLASS_1_X_16 = 0x82BE; + public const int IMAGE_CLASS_1_X_32 = 0x82BB; + public const int IMAGE_CLASS_1_X_8 = 0x82C1; + public const int IMAGE_CLASS_2_X_16 = 0x82BD; + public const int IMAGE_CLASS_2_X_32 = 0x82BA; + public const int IMAGE_CLASS_2_X_8 = 0x82C0; + public const int IMAGE_CLASS_4_X_16 = 0x82BC; + public const int IMAGE_CLASS_4_X_32 = 0x82B9; + public const int IMAGE_CLASS_4_X_8 = 0x82BF; + public const int IMAGE_COMPATIBILITY_CLASS = 0x82A8; + public const int IMAGE_CUBE = 0x9050; + public const int IMAGE_CUBE_EXT = 0x9050; + public const int IMAGE_CUBE_MAP_ARRAY = 0x9054; + public const int IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; + public const int IMAGE_CUBIC_WEIGHT_HP = 0x815E; + public const int IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; + public const int IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; + public const int IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; + public const int IMAGE_MAG_FILTER_HP = 0x815C; + public const int IMAGE_MIN_FILTER_HP = 0x815D; + public const int IMAGE_PIXEL_FORMAT = 0x82A9; + public const int IMAGE_PIXEL_TYPE = 0x82AA; + public const int IMAGE_ROTATE_ANGLE_HP = 0x8159; + public const int IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; + public const int IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; + public const int IMAGE_SCALE_X_HP = 0x8155; + public const int IMAGE_SCALE_Y_HP = 0x8156; + public const int IMAGE_TEXEL_SIZE = 0x82A7; + public const int IMAGE_TRANSFORM_2D_HP = 0x8161; + public const int IMAGE_TRANSLATE_X_HP = 0x8157; + public const int IMAGE_TRANSLATE_Y_HP = 0x8158; + public const int IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; + public const int IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; + public const int IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; + public const int IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; + public const int INCLUSIVE_EXT = 0x8F10; + public const int INCR = 0x1E02; + public const int INCR_WRAP = 0x8507; + public const int INCR_WRAP_EXT = 0x8507; + public const int INDEX_ARRAY_ADDRESS_NV = 0x8F24; + public const int INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; + public const int INDEX_ARRAY_COUNT_EXT = 0x8087; + public const int INDEX_ARRAY_EXT = 0x8077; + public const int INDEX_ARRAY_LENGTH_NV = 0x8F2E; + public const int INDEX_ARRAY_LIST_IBM = 103073; + public const int INDEX_ARRAY_LIST_STRIDE_IBM = 103083; + public const int INDEX_ARRAY_POINTER_EXT = 0x8091; + public const int INDEX_ARRAY_STRIDE_EXT = 0x8086; + public const int INDEX_ARRAY_TYPE_EXT = 0x8085; + public const int INDEX_BIT_PGI = 0x00080000; + public const int INDEX_MATERIAL_EXT = 0x81B8; + public const int INDEX_MATERIAL_FACE_EXT = 0x81BA; + public const int INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; + public const int INDEX_TEST_EXT = 0x81B5; + public const int INDEX_TEST_FUNC_EXT = 0x81B6; + public const int INDEX_TEST_REF_EXT = 0x81B7; + public const int INFO_LOG_LENGTH = 0x8B84; + public const int INNOCENT_CONTEXT_RESET = 0x8254; + public const int INNOCENT_CONTEXT_RESET_ARB = 0x8254; + public const int INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; + public const int INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; + public const int INT = 0x1404; + public const int INT16_NV = 0x8FE4; + public const int INT16_VEC2_NV = 0x8FE5; + public const int INT16_VEC3_NV = 0x8FE6; + public const int INT16_VEC4_NV = 0x8FE7; + public const int INT64_ARB = 0x140E; + public const int INT64_NV = 0x140E; + public const int INT64_VEC2_ARB = 0x8FE9; + public const int INT64_VEC2_NV = 0x8FE9; + public const int INT64_VEC3_ARB = 0x8FEA; + public const int INT64_VEC3_NV = 0x8FEA; + public const int INT64_VEC4_ARB = 0x8FEB; + public const int INT64_VEC4_NV = 0x8FEB; + public const int INT8_NV = 0x8FE0; + public const int INT8_VEC2_NV = 0x8FE1; + public const int INT8_VEC3_NV = 0x8FE2; + public const int INT8_VEC4_NV = 0x8FE3; + public const int INTENSITY12_EXT = 0x804C; + public const int INTENSITY16F_ARB = 0x881D; + public const int INTENSITY16I_EXT = 0x8D8B; + public const int INTENSITY16UI_EXT = 0x8D79; + public const int INTENSITY16_EXT = 0x804D; + public const int INTENSITY16_SNORM = 0x901B; + public const int INTENSITY32F_ARB = 0x8817; + public const int INTENSITY32I_EXT = 0x8D85; + public const int INTENSITY32UI_EXT = 0x8D73; + public const int INTENSITY4_EXT = 0x804A; + public const int INTENSITY8I_EXT = 0x8D91; + public const int INTENSITY8UI_EXT = 0x8D7F; + public const int INTENSITY8_EXT = 0x804B; + public const int INTENSITY8_SNORM = 0x9017; + public const int INTENSITY_EXT = 0x8049; + public const int INTENSITY_FLOAT16_APPLE = 0x881D; + public const int INTENSITY_FLOAT16_ATI = 0x881D; + public const int INTENSITY_FLOAT32_APPLE = 0x8817; + public const int INTENSITY_FLOAT32_ATI = 0x8817; + public const int INTENSITY_SNORM = 0x9013; + public const int INTERLACE_OML = 0x8980; + public const int INTERLACE_READ_INGR = 0x8568; + public const int INTERLACE_READ_OML = 0x8981; + public const int INTERLACE_SGIX = 0x8094; + public const int INTERLEAVED_ATTRIBS = 0x8C8C; + public const int INTERLEAVED_ATTRIBS_EXT = 0x8C8C; + public const int INTERLEAVED_ATTRIBS_NV = 0x8C8C; + public const int INTERNALFORMAT_ALPHA_SIZE = 0x8274; + public const int INTERNALFORMAT_ALPHA_TYPE = 0x827B; + public const int INTERNALFORMAT_BLUE_SIZE = 0x8273; + public const int INTERNALFORMAT_BLUE_TYPE = 0x827A; + public const int INTERNALFORMAT_DEPTH_SIZE = 0x8275; + public const int INTERNALFORMAT_DEPTH_TYPE = 0x827C; + public const int INTERNALFORMAT_GREEN_SIZE = 0x8272; + public const int INTERNALFORMAT_GREEN_TYPE = 0x8279; + public const int INTERNALFORMAT_PREFERRED = 0x8270; + public const int INTERNALFORMAT_RED_SIZE = 0x8271; + public const int INTERNALFORMAT_RED_TYPE = 0x8278; + public const int INTERNALFORMAT_SHARED_SIZE = 0x8277; + public const int INTERNALFORMAT_STENCIL_SIZE = 0x8276; + public const int INTERNALFORMAT_STENCIL_TYPE = 0x827D; + public const int INTERNALFORMAT_SUPPORTED = 0x826F; + public const int INTERPOLATE_ARB = 0x8575; + public const int INTERPOLATE_EXT = 0x8575; + public const int INT_2_10_10_10_REV = 0x8D9F; + public const int INT_IMAGE_1D = 0x9057; + public const int INT_IMAGE_1D_ARRAY = 0x905D; + public const int INT_IMAGE_1D_ARRAY_EXT = 0x905D; + public const int INT_IMAGE_1D_EXT = 0x9057; + public const int INT_IMAGE_2D = 0x9058; + public const int INT_IMAGE_2D_ARRAY = 0x905E; + public const int INT_IMAGE_2D_ARRAY_EXT = 0x905E; + public const int INT_IMAGE_2D_EXT = 0x9058; + public const int INT_IMAGE_2D_MULTISAMPLE = 0x9060; + public const int INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; + public const int INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; + public const int INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; + public const int INT_IMAGE_2D_RECT = 0x905A; + public const int INT_IMAGE_2D_RECT_EXT = 0x905A; + public const int INT_IMAGE_3D = 0x9059; + public const int INT_IMAGE_3D_EXT = 0x9059; + public const int INT_IMAGE_BUFFER = 0x905C; + public const int INT_IMAGE_BUFFER_EXT = 0x905C; + public const int INT_IMAGE_CUBE = 0x905B; + public const int INT_IMAGE_CUBE_EXT = 0x905B; + public const int INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; + public const int INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; + public const int INT_SAMPLER_1D = 0x8DC9; + public const int INT_SAMPLER_1D_ARRAY = 0x8DCE; + public const int INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; + public const int INT_SAMPLER_1D_EXT = 0x8DC9; + public const int INT_SAMPLER_2D = 0x8DCA; + public const int INT_SAMPLER_2D_ARRAY = 0x8DCF; + public const int INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; + public const int INT_SAMPLER_2D_EXT = 0x8DCA; + public const int INT_SAMPLER_2D_MULTISAMPLE = 0x9109; + public const int INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; + public const int INT_SAMPLER_2D_RECT = 0x8DCD; + public const int INT_SAMPLER_2D_RECT_EXT = 0x8DCD; + public const int INT_SAMPLER_3D = 0x8DCB; + public const int INT_SAMPLER_3D_EXT = 0x8DCB; + public const int INT_SAMPLER_BUFFER = 0x8DD0; + public const int INT_SAMPLER_BUFFER_AMD = 0x9002; + public const int INT_SAMPLER_BUFFER_EXT = 0x8DD0; + public const int INT_SAMPLER_CUBE = 0x8DCC; + public const int INT_SAMPLER_CUBE_EXT = 0x8DCC; + public const int INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; + public const int INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; + public const int INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; + public const int INT_VEC2 = 0x8B53; + public const int INT_VEC2_ARB = 0x8B53; + public const int INT_VEC3 = 0x8B54; + public const int INT_VEC3_ARB = 0x8B54; + public const int INT_VEC4 = 0x8B55; + public const int INT_VEC4_ARB = 0x8B55; + public const int INVALID_ENUM = 0x0500; + public const int INVALID_FRAMEBUFFER_OPERATION = 0x0506; + public const int INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; + public const uint INVALID_INDEX = 0xFFFFFFFF; + public const int INVALID_OPERATION = 0x0502; + public const int INVALID_VALUE = 0x0501; + public const int INVARIANT_DATATYPE_EXT = 0x87EB; + public const int INVARIANT_EXT = 0x87C2; + public const int INVARIANT_VALUE_EXT = 0x87EA; + public const int INVERSE_NV = 0x862B; + public const int INVERSE_TRANSPOSE_NV = 0x862D; + public const int INVERT = 0x150A; + public const int INVERTED_SCREEN_W_REND = 0x8491; + public const int INVERT_OVG_NV = 0x92B4; + public const int INVERT_RGB_NV = 0x92A3; + public const int IR_INSTRUMENT1_SGIX = 0x817F; + public const int ISOLINES = 0x8E7A; + public const int IS_PER_PATCH = 0x92E7; + public const int IS_ROW_MAJOR = 0x9300; + public const int ITALIC_BIT_NV = 0x02; + public const int IUI_N3F_V2F_EXT = 0x81AF; + public const int IUI_N3F_V3F_EXT = 0x81B0; + public const int IUI_V2F_EXT = 0x81AD; + public const int IUI_V3F_EXT = 0x81AE; + public const int KEEP = 0x1E00; + public const int LARGE_CCW_ARC_TO_NV = 0x16; + public const int LARGE_CW_ARC_TO_NV = 0x18; + public const int LAST_VERTEX_CONVENTION = 0x8E4E; + public const int LAST_VERTEX_CONVENTION_EXT = 0x8E4E; + public const int LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; + public const int LAYER_NV = 0x8DAA; + public const int LAYER_PROVOKING_VERTEX = 0x825E; + public const int LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; + public const int LAYOUT_DEFAULT_INTEL = 0; + public const int LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; + public const int LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; + public const int LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; + public const int LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; + public const int LAYOUT_GENERAL_EXT = 0x958D; + public const int LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; + public const int LAYOUT_LINEAR_INTEL = 1; + public const int LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; + public const int LAYOUT_TRANSFER_DST_EXT = 0x9593; + public const int LAYOUT_TRANSFER_SRC_EXT = 0x9592; + public const int LEFT = 0x0406; + public const int LEQUAL = 0x0203; + public const int LERP_ATI = 0x8969; + public const int LESS = 0x0201; + public const int LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; + public const int LIGHTEN_KHR = 0x9298; + public const int LIGHTEN_NV = 0x9298; + public const int LIGHT_ENV_MODE_SGIX = 0x8407; + public const int LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; + public const int LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; + public const int LINE = 0x1B01; + public const int LINEAR = 0x2601; + public const int LINEARBURN_NV = 0x92A5; + public const int LINEARDODGE_NV = 0x92A4; + public const int LINEARLIGHT_NV = 0x92A7; + public const int LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; + public const int LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; + public const int LINEAR_DETAIL_ALPHA_SGIS = 0x8098; + public const int LINEAR_DETAIL_COLOR_SGIS = 0x8099; + public const int LINEAR_DETAIL_SGIS = 0x8097; + public const int LINEAR_MIPMAP_LINEAR = 0x2703; + public const int LINEAR_MIPMAP_NEAREST = 0x2701; + public const int LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; + public const int LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; + public const int LINEAR_SHARPEN_SGIS = 0x80AD; + public const int LINEAR_TILING_EXT = 0x9585; + public const int LINES = 0x0001; + public const int LINES_ADJACENCY = 0x000A; + public const int LINES_ADJACENCY_ARB = 0x000A; + public const int LINES_ADJACENCY_EXT = 0x000A; + public const int LINE_LOOP = 0x0002; + public const int LINE_SMOOTH = 0x0B20; + public const int LINE_SMOOTH_HINT = 0x0C52; + public const int LINE_STRIP = 0x0003; + public const int LINE_STRIP_ADJACENCY = 0x000B; + public const int LINE_STRIP_ADJACENCY_ARB = 0x000B; + public const int LINE_STRIP_ADJACENCY_EXT = 0x000B; + public const int LINE_TO_NV = 0x04; + public const int LINE_WIDTH = 0x0B21; + public const int LINE_WIDTH_COMMAND_NV = 0x000D; + public const int LINE_WIDTH_GRANULARITY = 0x0B23; + public const int LINE_WIDTH_RANGE = 0x0B22; + public const int LINK_STATUS = 0x8B82; + public const int LIST_PRIORITY_SGIX = 0x8182; + public const int LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; + public const int LOCAL_CONSTANT_EXT = 0x87C3; + public const int LOCAL_CONSTANT_VALUE_EXT = 0x87EC; + public const int LOCAL_EXT = 0x87C4; + public const int LOCATION = 0x930E; + public const int LOCATION_COMPONENT = 0x934A; + public const int LOCATION_INDEX = 0x930F; + public const int LOGIC_OP_MODE = 0x0BF0; + public const int LOSE_CONTEXT_ON_RESET = 0x8252; + public const int LOSE_CONTEXT_ON_RESET_ARB = 0x8252; + public const int LOWER_LEFT = 0x8CA1; + public const int LOW_FLOAT = 0x8DF0; + public const int LOW_INT = 0x8DF3; + public const int LO_BIAS_NV = 0x8715; + public const int LO_SCALE_NV = 0x870F; + public const int LUID_SIZE_EXT = 8; + public const int LUMINANCE12_ALPHA12_EXT = 0x8047; + public const int LUMINANCE12_ALPHA4_EXT = 0x8046; + public const int LUMINANCE12_EXT = 0x8041; + public const int LUMINANCE16F_ARB = 0x881E; + public const int LUMINANCE16F_EXT = 0x881E; + public const int LUMINANCE16I_EXT = 0x8D8C; + public const int LUMINANCE16UI_EXT = 0x8D7A; + public const int LUMINANCE16_ALPHA16_EXT = 0x8048; + public const int LUMINANCE16_ALPHA16_SNORM = 0x901A; + public const int LUMINANCE16_EXT = 0x8042; + public const int LUMINANCE16_SNORM = 0x9019; + public const int LUMINANCE32F_ARB = 0x8818; + public const int LUMINANCE32F_EXT = 0x8818; + public const int LUMINANCE32I_EXT = 0x8D86; + public const int LUMINANCE32UI_EXT = 0x8D74; + public const int LUMINANCE4_ALPHA4_EXT = 0x8043; + public const int LUMINANCE4_EXT = 0x803F; + public const int LUMINANCE6_ALPHA2_EXT = 0x8044; + public const int LUMINANCE8I_EXT = 0x8D92; + public const int LUMINANCE8UI_EXT = 0x8D80; + public const int LUMINANCE8_ALPHA8_EXT = 0x8045; + public const int LUMINANCE8_ALPHA8_SNORM = 0x9016; + public const int LUMINANCE8_EXT = 0x8040; + public const int LUMINANCE8_SNORM = 0x9015; + public const int LUMINANCE_ALPHA16F_ARB = 0x881F; + public const int LUMINANCE_ALPHA16F_EXT = 0x881F; + public const int LUMINANCE_ALPHA16I_EXT = 0x8D8D; + public const int LUMINANCE_ALPHA16UI_EXT = 0x8D7B; + public const int LUMINANCE_ALPHA32F_ARB = 0x8819; + public const int LUMINANCE_ALPHA32F_EXT = 0x8819; + public const int LUMINANCE_ALPHA32I_EXT = 0x8D87; + public const int LUMINANCE_ALPHA32UI_EXT = 0x8D75; + public const int LUMINANCE_ALPHA8I_EXT = 0x8D93; + public const int LUMINANCE_ALPHA8UI_EXT = 0x8D81; + public const int LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; + public const int LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; + public const int LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; + public const int LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; + public const int LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; + public const int LUMINANCE_ALPHA_SNORM = 0x9012; + public const int LUMINANCE_FLOAT16_APPLE = 0x881E; + public const int LUMINANCE_FLOAT16_ATI = 0x881E; + public const int LUMINANCE_FLOAT32_APPLE = 0x8818; + public const int LUMINANCE_FLOAT32_ATI = 0x8818; + public const int LUMINANCE_INTEGER_EXT = 0x8D9C; + public const int LUMINANCE_SNORM = 0x9011; + public const int MAD_ATI = 0x8968; + public const int MAGNITUDE_BIAS_NV = 0x8718; + public const int MAGNITUDE_SCALE_NV = 0x8712; + public const int MAJOR_VERSION = 0x821B; + public const int MANUAL_GENERATE_MIPMAP = 0x8294; + public const int MAP1_BINORMAL_EXT = 0x8446; + public const int MAP1_TANGENT_EXT = 0x8444; + public const int MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; + public const int MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; + public const int MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; + public const int MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; + public const int MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; + public const int MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; + public const int MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; + public const int MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; + public const int MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; + public const int MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; + public const int MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; + public const int MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; + public const int MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; + public const int MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; + public const int MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; + public const int MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; + public const int MAP2_BINORMAL_EXT = 0x8447; + public const int MAP2_TANGENT_EXT = 0x8445; + public const int MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; + public const int MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; + public const int MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; + public const int MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; + public const int MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; + public const int MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; + public const int MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; + public const int MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; + public const int MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; + public const int MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; + public const int MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; + public const int MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; + public const int MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; + public const int MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; + public const int MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; + public const int MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; + public const int MAP_ATTRIB_U_ORDER_NV = 0x86C3; + public const int MAP_ATTRIB_V_ORDER_NV = 0x86C4; + public const int MAP_COHERENT_BIT = 0x0080; + public const int MAP_FLUSH_EXPLICIT_BIT = 0x0010; + public const int MAP_INVALIDATE_BUFFER_BIT = 0x0008; + public const int MAP_INVALIDATE_RANGE_BIT = 0x0004; + public const int MAP_PERSISTENT_BIT = 0x0040; + public const int MAP_READ_BIT = 0x0001; + public const int MAP_TESSELLATION_NV = 0x86C2; + public const int MAP_UNSYNCHRONIZED_BIT = 0x0020; + public const int MAP_WRITE_BIT = 0x0002; + public const int MATERIAL_SIDE_HINT_PGI = 0x1A22C; + public const int MATRIX0_ARB = 0x88C0; + public const int MATRIX0_NV = 0x8630; + public const int MATRIX10_ARB = 0x88CA; + public const int MATRIX11_ARB = 0x88CB; + public const int MATRIX12_ARB = 0x88CC; + public const int MATRIX13_ARB = 0x88CD; + public const int MATRIX14_ARB = 0x88CE; + public const int MATRIX15_ARB = 0x88CF; + public const int MATRIX16_ARB = 0x88D0; + public const int MATRIX17_ARB = 0x88D1; + public const int MATRIX18_ARB = 0x88D2; + public const int MATRIX19_ARB = 0x88D3; + public const int MATRIX1_ARB = 0x88C1; + public const int MATRIX1_NV = 0x8631; + public const int MATRIX20_ARB = 0x88D4; + public const int MATRIX21_ARB = 0x88D5; + public const int MATRIX22_ARB = 0x88D6; + public const int MATRIX23_ARB = 0x88D7; + public const int MATRIX24_ARB = 0x88D8; + public const int MATRIX25_ARB = 0x88D9; + public const int MATRIX26_ARB = 0x88DA; + public const int MATRIX27_ARB = 0x88DB; + public const int MATRIX28_ARB = 0x88DC; + public const int MATRIX29_ARB = 0x88DD; + public const int MATRIX2_ARB = 0x88C2; + public const int MATRIX2_NV = 0x8632; + public const int MATRIX30_ARB = 0x88DE; + public const int MATRIX31_ARB = 0x88DF; + public const int MATRIX3_ARB = 0x88C3; + public const int MATRIX3_NV = 0x8633; + public const int MATRIX4_ARB = 0x88C4; + public const int MATRIX4_NV = 0x8634; + public const int MATRIX5_ARB = 0x88C5; + public const int MATRIX5_NV = 0x8635; + public const int MATRIX6_ARB = 0x88C6; + public const int MATRIX6_NV = 0x8636; + public const int MATRIX7_ARB = 0x88C7; + public const int MATRIX7_NV = 0x8637; + public const int MATRIX8_ARB = 0x88C8; + public const int MATRIX9_ARB = 0x88C9; + public const int MATRIX_EXT = 0x87C0; + public const int MATRIX_INDEX_ARRAY_ARB = 0x8844; + public const int MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; + public const int MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; + public const int MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; + public const int MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; + public const int MATRIX_PALETTE_ARB = 0x8840; + public const int MATRIX_STRIDE = 0x92FF; + public const int MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; + public const int MAT_AMBIENT_BIT_PGI = 0x00100000; + public const int MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; + public const int MAT_DIFFUSE_BIT_PGI = 0x00400000; + public const int MAT_EMISSION_BIT_PGI = 0x00800000; + public const int MAT_SHININESS_BIT_PGI = 0x02000000; + public const int MAT_SPECULAR_BIT_PGI = 0x04000000; + public const int MAX = 0x8008; + public const int MAX_3D_TEXTURE_SIZE = 0x8073; + public const int MAX_3D_TEXTURE_SIZE_EXT = 0x8073; + public const int MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; + public const int MAX_ACTIVE_LIGHTS_SGIX = 0x8405; + public const int MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; + public const int MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; + public const int MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; + public const int MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; + public const int MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; + public const int MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; + public const int MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; + public const int MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; + public const int MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; + public const int MAX_CLIPMAP_DEPTH_SGIX = 0x8177; + public const int MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; + public const int MAX_CLIP_DISTANCES = 0x0D32; + public const int MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; + public const int MAX_COLOR_ATTACHMENTS = 0x8CDF; + public const int MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; + public const int MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; + public const int MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; + public const int MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; + public const int MAX_COLOR_TEXTURE_SAMPLES = 0x910E; + public const int MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; + public const int MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; + public const int MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; + public const int MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; + public const int MAX_COMBINED_DIMENSIONS = 0x8282; + public const int MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; + public const int MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; + public const int MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; + public const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; + public const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; + public const int MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; + public const int MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; + public const int MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; + public const int MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; + public const int MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; + public const int MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; + public const int MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; + public const int MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; + public const int MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; + public const int MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; + public const int MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; + public const int MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; + public const int MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; + public const int MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; + public const int MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; + public const int MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; + public const int MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; + public const int MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; + public const int MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; + public const int MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; + public const int MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; + public const int MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; + public const int MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; + public const int MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; + public const int MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; + public const int MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; + public const int MAX_CONVOLUTION_WIDTH_EXT = 0x801A; + public const int MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; + public const int MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; + public const int MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; + public const int MAX_CULL_DISTANCES = 0x82F9; + public const int MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; + public const int MAX_DEBUG_LOGGED_MESSAGES = 0x9144; + public const int MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; + public const int MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; + public const int MAX_DEBUG_MESSAGE_LENGTH = 0x9143; + public const int MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; + public const int MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; + public const int MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; + public const int MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; + public const int MAX_DEFORMATION_ORDER_SGIX = 0x8197; + public const int MAX_DEPTH = 0x8280; + public const int MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; + public const int MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; + public const int MAX_DETACHED_BUFFERS_NV = 0x95AD; + public const int MAX_DETACHED_TEXTURES_NV = 0x95AC; + public const int MAX_DRAW_BUFFERS = 0x8824; + public const int MAX_DRAW_BUFFERS_ARB = 0x8824; + public const int MAX_DRAW_BUFFERS_ATI = 0x8824; + public const int MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; + public const int MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; + public const int MAX_ELEMENTS_INDICES = 0x80E9; + public const int MAX_ELEMENTS_INDICES_EXT = 0x80E9; + public const int MAX_ELEMENTS_VERTICES = 0x80E8; + public const int MAX_ELEMENTS_VERTICES_EXT = 0x80E8; + public const int MAX_ELEMENT_INDEX = 0x8D6B; + public const int MAX_EXT = 0x8008; + public const int MAX_FOG_FUNC_POINTS_SGIS = 0x812C; + public const int MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; + public const int MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; + public const int MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; + public const int MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; + public const int MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; + public const int MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; + public const int MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; + public const int MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; + public const int MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; + public const int MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; + public const int MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; + public const int MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; + public const int MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; + public const int MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; + public const int MAX_FRAMEBUFFER_HEIGHT = 0x9316; + public const int MAX_FRAMEBUFFER_LAYERS = 0x9317; + public const int MAX_FRAMEBUFFER_SAMPLES = 0x9318; + public const int MAX_FRAMEBUFFER_WIDTH = 0x9315; + public const int MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; + public const int MAX_GENERAL_COMBINERS_NV = 0x854D; + public const int MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; + public const int MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; + public const int MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; + public const int MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; + public const int MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; + public const int MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; + public const int MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; + public const int MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; + public const int MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; + public const int MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; + public const int MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; + public const int MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; + public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; + public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; + public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; + public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; + public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; + public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; + public const int MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; + public const int MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; + public const int MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; + public const int MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; + public const int MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; + public const int MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; + public const int MAX_HEIGHT = 0x827F; + public const int MAX_IMAGE_SAMPLES = 0x906D; + public const int MAX_IMAGE_SAMPLES_EXT = 0x906D; + public const int MAX_IMAGE_UNITS = 0x8F38; + public const int MAX_IMAGE_UNITS_EXT = 0x8F38; + public const int MAX_INTEGER_SAMPLES = 0x9110; + public const int MAX_LABEL_LENGTH = 0x82E8; + public const int MAX_LAYERS = 0x8281; + public const int MAX_LGPU_GPUS_NVX = 0x92BA; + public const int MAX_MAP_TESSELLATION_NV = 0x86D6; + public const int MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; + public const int MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; + public const int MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; + public const int MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; + public const int MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; + public const int MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; + public const int MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; + public const int MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; + public const int MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; + public const int MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; + public const int MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; + public const int MAX_MESH_VIEWS_NV = 0x9557; + public const int MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; + public const int MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; + public const int MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; + public const int MAX_NAME_LENGTH = 0x92F6; + public const int MAX_NUM_ACTIVE_VARIABLES = 0x92F7; + public const int MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; + public const int MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; + public const int MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; + public const int MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; + public const int MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; + public const int MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; + public const int MAX_PALETTE_MATRICES_ARB = 0x8842; + public const int MAX_PATCH_VERTICES = 0x8E7D; + public const int MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; + public const int MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; + public const int MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; + public const int MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; + public const int MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; + public const int MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; + public const int MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; + public const int MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; + public const int MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; + public const int MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; + public const int MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; + public const int MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; + public const int MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; + public const int MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; + public const int MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; + public const int MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; + public const int MAX_PROGRAM_MATRICES_ARB = 0x862F; + public const int MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; + public const int MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; + public const int MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; + public const int MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; + public const int MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; + public const int MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; + public const int MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; + public const int MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; + public const int MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; + public const int MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; + public const int MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; + public const int MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; + public const int MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; + public const int MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; + public const int MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; + public const int MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; + public const int MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; + public const int MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; + public const int MAX_PROGRAM_TEXEL_OFFSET = 0x8905; + public const int MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; + public const int MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; + public const int MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; + public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; + public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; + public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; + public const int MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; + public const int MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; + public const int MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; + public const int MAX_RASTER_SAMPLES_EXT = 0x9329; + public const int MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; + public const int MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; + public const int MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; + public const int MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; + public const int MAX_RENDERBUFFER_SIZE = 0x84E8; + public const int MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; + public const int MAX_SAMPLES = 0x8D57; + public const int MAX_SAMPLES_EXT = 0x8D57; + public const int MAX_SAMPLE_MASK_WORDS = 0x8E59; + public const int MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; + public const int MAX_SERVER_WAIT_TIMEOUT = 0x9111; + public const int MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; + public const int MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; + public const int MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; + public const int MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; + public const int MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; + public const int MAX_SHININESS_NV = 0x8504; + public const int MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; + public const int MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; + public const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; + public const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; + public const int MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; + public const int MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; + public const int MAX_SPOT_EXPONENT_NV = 0x8505; + public const int MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; + public const int MAX_SUBROUTINES = 0x8DE7; + public const int MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; + public const int MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; + public const int MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; + public const int MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; + public const int MAX_TASK_OUTPUT_COUNT_NV = 0x953A; + public const int MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; + public const int MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; + public const int MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; + public const int MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; + public const int MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; + public const int MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; + public const int MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; + public const int MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; + public const int MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; + public const int MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; + public const int MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; + public const int MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; + public const int MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; + public const int MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; + public const int MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; + public const int MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; + public const int MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; + public const int MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; + public const int MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; + public const int MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; + public const int MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; + public const int MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; + public const int MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; + public const int MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; + public const int MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; + public const int MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; + public const int MAX_TESS_GEN_LEVEL = 0x8E7E; + public const int MAX_TESS_PATCH_COMPONENTS = 0x8E84; + public const int MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; + public const int MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; + public const int MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; + public const int MAX_TEXTURE_COORDS_ARB = 0x8871; + public const int MAX_TEXTURE_COORDS_NV = 0x8871; + public const int MAX_TEXTURE_IMAGE_UNITS = 0x8872; + public const int MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; + public const int MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; + public const int MAX_TEXTURE_LOD_BIAS = 0x84FD; + public const int MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; + public const int MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF; + public const int MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; + public const int MAX_TEXTURE_SIZE = 0x0D33; + public const int MAX_TEXTURE_UNITS_ARB = 0x84E2; + public const int MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; + public const int MAX_TRACK_MATRICES_NV = 0x862F; + public const int MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; + public const int MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; + public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; + public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; + public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; + public const int MAX_UNIFORM_BLOCK_SIZE = 0x8A30; + public const int MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; + public const int MAX_UNIFORM_LOCATIONS = 0x826E; + public const int MAX_VARYING_COMPONENTS = 0x8B4B; + public const int MAX_VARYING_COMPONENTS_EXT = 0x8B4B; + public const int MAX_VARYING_FLOATS = 0x8B4B; + public const int MAX_VARYING_FLOATS_ARB = 0x8B4B; + public const int MAX_VARYING_VECTORS = 0x8DFC; + public const int MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; + public const int MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; + public const int MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; + public const int MAX_VERTEX_ATTRIBS = 0x8869; + public const int MAX_VERTEX_ATTRIBS_ARB = 0x8869; + public const int MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; + public const int MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; + public const int MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; + public const int MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; + public const int MAX_VERTEX_HINT_PGI = 0x1A22D; + public const int MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; + public const int MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; + public const int MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; + public const int MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; + public const int MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; + public const int MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; + public const int MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; + public const int MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; + public const int MAX_VERTEX_STREAMS = 0x8E71; + public const int MAX_VERTEX_STREAMS_ATI = 0x876B; + public const int MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; + public const int MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; + public const int MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; + public const int MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; + public const int MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; + public const int MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; + public const int MAX_VERTEX_UNITS_ARB = 0x86A4; + public const int MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; + public const int MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; + public const int MAX_VIEWPORTS = 0x825B; + public const int MAX_VIEWPORT_DIMS = 0x0D3A; + public const int MAX_VIEWS_OVR = 0x9631; + public const int MAX_WIDTH = 0x827E; + public const int MAX_WINDOW_RECTANGLES_EXT = 0x8F14; + public const int MEDIUM_FLOAT = 0x8DF1; + public const int MEDIUM_INT = 0x8DF4; + public const int MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; + public const int MEMORY_ATTACHABLE_NV = 0x95A8; + public const int MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; + public const int MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; + public const int MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; + public const int MESH_OUTPUT_TYPE_NV = 0x957B; + public const int MESH_PRIMITIVES_OUT_NV = 0x957A; + public const int MESH_SHADER_BIT_NV = 0x00000040; + public const int MESH_SHADER_NV = 0x9559; + public const int MESH_SUBROUTINE_NV = 0x957C; + public const int MESH_SUBROUTINE_UNIFORM_NV = 0x957E; + public const int MESH_VERTICES_OUT_NV = 0x9579; + public const int MESH_WORK_GROUP_SIZE_NV = 0x953E; + public const int MIN = 0x8007; + public const int MINMAX_EXT = 0x802E; + public const int MINMAX_FORMAT_EXT = 0x802F; + public const int MINMAX_SINK_EXT = 0x8030; + public const int MINOR_VERSION = 0x821C; + public const int MINUS_CLAMPED_NV = 0x92B3; + public const int MINUS_NV = 0x929F; + public const int MIN_EXT = 0x8007; + public const int MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; + public const int MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; + public const int MIN_LOD_WARNING_AMD = 0x919C; + public const int MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; + public const int MIN_PROGRAM_TEXEL_OFFSET = 0x8904; + public const int MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; + public const int MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; + public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; + public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; + public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; + public const int MIN_SAMPLE_SHADING_VALUE = 0x8C37; + public const int MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; + public const int MIN_SPARSE_LEVEL_AMD = 0x919B; + public const int MIPMAP = 0x8293; + public const int MIRRORED_REPEAT = 0x8370; + public const int MIRRORED_REPEAT_ARB = 0x8370; + public const int MIRRORED_REPEAT_IBM = 0x8370; + public const int MIRROR_CLAMP_ATI = 0x8742; + public const int MIRROR_CLAMP_EXT = 0x8742; + public const int MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; + public const int MIRROR_CLAMP_TO_EDGE = 0x8743; + public const int MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; + public const int MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; + public const int MITER_REVERT_NV = 0x90A7; + public const int MITER_TRUNCATE_NV = 0x90A8; + public const int MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; + public const int MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; + public const int MODELVIEW0_ARB = 0x1700; + public const int MODELVIEW0_EXT = 0x1700; + public const int MODELVIEW0_MATRIX_EXT = 0x0BA6; + public const int MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; + public const int MODELVIEW10_ARB = 0x872A; + public const int MODELVIEW11_ARB = 0x872B; + public const int MODELVIEW12_ARB = 0x872C; + public const int MODELVIEW13_ARB = 0x872D; + public const int MODELVIEW14_ARB = 0x872E; + public const int MODELVIEW15_ARB = 0x872F; + public const int MODELVIEW16_ARB = 0x8730; + public const int MODELVIEW17_ARB = 0x8731; + public const int MODELVIEW18_ARB = 0x8732; + public const int MODELVIEW19_ARB = 0x8733; + public const int MODELVIEW1_ARB = 0x850A; + public const int MODELVIEW1_EXT = 0x850A; + public const int MODELVIEW1_MATRIX_EXT = 0x8506; + public const int MODELVIEW1_STACK_DEPTH_EXT = 0x8502; + public const int MODELVIEW20_ARB = 0x8734; + public const int MODELVIEW21_ARB = 0x8735; + public const int MODELVIEW22_ARB = 0x8736; + public const int MODELVIEW23_ARB = 0x8737; + public const int MODELVIEW24_ARB = 0x8738; + public const int MODELVIEW25_ARB = 0x8739; + public const int MODELVIEW26_ARB = 0x873A; + public const int MODELVIEW27_ARB = 0x873B; + public const int MODELVIEW28_ARB = 0x873C; + public const int MODELVIEW29_ARB = 0x873D; + public const int MODELVIEW2_ARB = 0x8722; + public const int MODELVIEW30_ARB = 0x873E; + public const int MODELVIEW31_ARB = 0x873F; + public const int MODELVIEW3_ARB = 0x8723; + public const int MODELVIEW4_ARB = 0x8724; + public const int MODELVIEW5_ARB = 0x8725; + public const int MODELVIEW6_ARB = 0x8726; + public const int MODELVIEW7_ARB = 0x8727; + public const int MODELVIEW8_ARB = 0x8728; + public const int MODELVIEW9_ARB = 0x8729; + public const int MODELVIEW_PROJECTION_NV = 0x8629; + public const int MODULATE_ADD_ATI = 0x8744; + public const int MODULATE_SIGNED_ADD_ATI = 0x8745; + public const int MODULATE_SUBTRACT_ATI = 0x8746; + public const int MOVE_TO_CONTINUES_NV = 0x90B6; + public const int MOVE_TO_NV = 0x02; + public const int MOVE_TO_RESETS_NV = 0x90B5; + public const int MOV_ATI = 0x8961; + public const int MULTICAST_GPUS_NV = 0x92BA; + public const int MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; + public const int MULTIPLY_KHR = 0x9294; + public const int MULTIPLY_NV = 0x9294; + public const int MULTISAMPLE = 0x809D; + public const int MULTISAMPLES_NV = 0x9371; + public const int MULTISAMPLE_3DFX = 0x86B2; + public const int MULTISAMPLE_ARB = 0x809D; + public const int MULTISAMPLE_BIT_3DFX = 0x20000000; + public const int MULTISAMPLE_BIT_ARB = 0x20000000; + public const int MULTISAMPLE_BIT_EXT = 0x20000000; + public const int MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; + public const int MULTISAMPLE_EXT = 0x809D; + public const int MULTISAMPLE_FILTER_HINT_NV = 0x8534; + public const int MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; + public const int MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; + public const int MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; + public const int MULTISAMPLE_SGIS = 0x809D; + public const int MUL_ATI = 0x8964; + public const int MVP_MATRIX_EXT = 0x87E3; + public const int NAMED_STRING_LENGTH_ARB = 0x8DE9; + public const int NAMED_STRING_TYPE_ARB = 0x8DEA; + public const int NAME_LENGTH = 0x92F9; + public const int NAND = 0x150E; + public const int NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; + public const int NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; + public const int NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; + public const int NEAREST = 0x2600; + public const int NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; + public const int NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; + public const int NEAREST_MIPMAP_LINEAR = 0x2702; + public const int NEAREST_MIPMAP_NEAREST = 0x2700; + public const int NEGATE_BIT_ATI = 0x00000004; + public const int NEGATIVE_ONE_EXT = 0x87DF; + public const int NEGATIVE_ONE_TO_ONE = 0x935E; + public const int NEGATIVE_W_EXT = 0x87DC; + public const int NEGATIVE_X_EXT = 0x87D9; + public const int NEGATIVE_Y_EXT = 0x87DA; + public const int NEGATIVE_Z_EXT = 0x87DB; + public const int NEVER = 0x0200; + public const int NEXT_BUFFER_NV = -2; + public const int NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; + public const int NICEST = 0x1102; + public const int NONE = 0; + public const int NOOP = 0x1505; + public const int NOP_COMMAND_NV = 0x0001; + public const int NOR = 0x1508; + public const int NORMALIZED_RANGE_EXT = 0x87E0; + public const int NORMAL_ARRAY_ADDRESS_NV = 0x8F22; + public const int NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; + public const int NORMAL_ARRAY_COUNT_EXT = 0x8080; + public const int NORMAL_ARRAY_EXT = 0x8075; + public const int NORMAL_ARRAY_LENGTH_NV = 0x8F2C; + public const int NORMAL_ARRAY_LIST_IBM = 103071; + public const int NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; + public const int NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; + public const int NORMAL_ARRAY_POINTER_EXT = 0x808F; + public const int NORMAL_ARRAY_STRIDE_EXT = 0x807F; + public const int NORMAL_ARRAY_TYPE_EXT = 0x807E; + public const int NORMAL_BIT_PGI = 0x08000000; + public const int NORMAL_MAP_ARB = 0x8511; + public const int NORMAL_MAP_EXT = 0x8511; + public const int NORMAL_MAP_NV = 0x8511; + public const int NOTEQUAL = 0x0205; + public const int NO_ERROR = 0; + public const int NO_RESET_NOTIFICATION = 0x8261; + public const int NO_RESET_NOTIFICATION_ARB = 0x8261; + public const int NUM_ACTIVE_VARIABLES = 0x9304; + public const int NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; + public const int NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; + public const int NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; + public const int NUM_DEVICE_UUIDS_EXT = 0x9596; + public const int NUM_EXTENSIONS = 0x821D; + public const int NUM_FILL_STREAMS_NV = 0x8E29; + public const int NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; + public const int NUM_FRAGMENT_REGISTERS_ATI = 0x896E; + public const int NUM_GENERAL_COMBINERS_NV = 0x854E; + public const int NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; + public const int NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; + public const int NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; + public const int NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; + public const int NUM_PASSES_ATI = 0x8970; + public const int NUM_PROGRAM_BINARY_FORMATS = 0x87FE; + public const int NUM_SAMPLE_COUNTS = 0x9380; + public const int NUM_SHADER_BINARY_FORMATS = 0x8DF9; + public const int NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; + public const int NUM_SPARSE_LEVELS_ARB = 0x91AA; + public const int NUM_SPIR_V_EXTENSIONS = 0x9554; + public const int NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; + public const int NUM_TILING_TYPES_EXT = 0x9582; + public const int NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; + public const int NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; + public const int NUM_WINDOW_RECTANGLES_EXT = 0x8F15; + public const int OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; + public const int OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; + public const int OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; + public const int OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; + public const int OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; + public const int OBJECT_BUFFER_SIZE_ATI = 0x8764; + public const int OBJECT_BUFFER_USAGE_ATI = 0x8765; + public const int OBJECT_COMPILE_STATUS_ARB = 0x8B81; + public const int OBJECT_DELETE_STATUS_ARB = 0x8B80; + public const int OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; + public const int OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; + public const int OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; + public const int OBJECT_LINE_SGIS = 0x81F7; + public const int OBJECT_LINK_STATUS_ARB = 0x8B82; + public const int OBJECT_POINT_SGIS = 0x81F5; + public const int OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; + public const int OBJECT_SUBTYPE_ARB = 0x8B4F; + public const int OBJECT_TYPE = 0x9112; + public const int OBJECT_TYPE_ARB = 0x8B4E; + public const int OBJECT_VALIDATE_STATUS_ARB = 0x8B83; + public const int OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; + public const int OCCLUSION_TEST_HP = 0x8165; + public const int OCCLUSION_TEST_RESULT_HP = 0x8166; + public const int OFFSET = 0x92FC; + public const int OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; + public const int OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; + public const int OFFSET_HILO_TEXTURE_2D_NV = 0x8854; + public const int OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; + public const int OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; + public const int OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; + public const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; + public const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; + public const int OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; + public const int OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; + public const int OFFSET_TEXTURE_2D_NV = 0x86E8; + public const int OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; + public const int OFFSET_TEXTURE_BIAS_NV = 0x86E3; + public const int OFFSET_TEXTURE_MATRIX_NV = 0x86E1; + public const int OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; + public const int OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; + public const int OFFSET_TEXTURE_SCALE_NV = 0x86E2; + public const int ONE = 1; + public const int ONE_EXT = 0x87DE; + public const int ONE_MINUS_CONSTANT_ALPHA = 0x8004; + public const int ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; + public const int ONE_MINUS_CONSTANT_COLOR = 0x8002; + public const int ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; + public const int ONE_MINUS_DST_ALPHA = 0x0305; + public const int ONE_MINUS_DST_COLOR = 0x0307; + public const int ONE_MINUS_SRC1_ALPHA = 0x88FB; + public const int ONE_MINUS_SRC1_COLOR = 0x88FA; + public const int ONE_MINUS_SRC_ALPHA = 0x0303; + public const int ONE_MINUS_SRC_COLOR = 0x0301; + public const int OPERAND0_ALPHA_ARB = 0x8598; + public const int OPERAND0_ALPHA_EXT = 0x8598; + public const int OPERAND0_RGB_ARB = 0x8590; + public const int OPERAND0_RGB_EXT = 0x8590; + public const int OPERAND1_ALPHA_ARB = 0x8599; + public const int OPERAND1_ALPHA_EXT = 0x8599; + public const int OPERAND1_RGB_ARB = 0x8591; + public const int OPERAND1_RGB_EXT = 0x8591; + public const int OPERAND2_ALPHA_ARB = 0x859A; + public const int OPERAND2_ALPHA_EXT = 0x859A; + public const int OPERAND2_RGB_ARB = 0x8592; + public const int OPERAND2_RGB_EXT = 0x8592; + public const int OPERAND3_ALPHA_NV = 0x859B; + public const int OPERAND3_RGB_NV = 0x8593; + public const int OPTIMAL_TILING_EXT = 0x9584; + public const int OP_ADD_EXT = 0x8787; + public const int OP_CLAMP_EXT = 0x878E; + public const int OP_CROSS_PRODUCT_EXT = 0x8797; + public const int OP_DOT3_EXT = 0x8784; + public const int OP_DOT4_EXT = 0x8785; + public const int OP_EXP_BASE_2_EXT = 0x8791; + public const int OP_FLOOR_EXT = 0x878F; + public const int OP_FRAC_EXT = 0x8789; + public const int OP_INDEX_EXT = 0x8782; + public const int OP_LOG_BASE_2_EXT = 0x8792; + public const int OP_MADD_EXT = 0x8788; + public const int OP_MAX_EXT = 0x878A; + public const int OP_MIN_EXT = 0x878B; + public const int OP_MOV_EXT = 0x8799; + public const int OP_MULTIPLY_MATRIX_EXT = 0x8798; + public const int OP_MUL_EXT = 0x8786; + public const int OP_NEGATE_EXT = 0x8783; + public const int OP_POWER_EXT = 0x8793; + public const int OP_RECIP_EXT = 0x8794; + public const int OP_RECIP_SQRT_EXT = 0x8795; + public const int OP_ROUND_EXT = 0x8790; + public const int OP_SET_GE_EXT = 0x878C; + public const int OP_SET_LT_EXT = 0x878D; + public const int OP_SUB_EXT = 0x8796; + public const int OR = 0x1507; + public const int OR_INVERTED = 0x150D; + public const int OR_REVERSE = 0x150B; + public const int OUTPUT_COLOR0_EXT = 0x879B; + public const int OUTPUT_COLOR1_EXT = 0x879C; + public const int OUTPUT_FOG_EXT = 0x87BD; + public const int OUTPUT_TEXTURE_COORD0_EXT = 0x879D; + public const int OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; + public const int OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; + public const int OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; + public const int OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; + public const int OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; + public const int OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; + public const int OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; + public const int OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; + public const int OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; + public const int OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; + public const int OUTPUT_TEXTURE_COORD1_EXT = 0x879E; + public const int OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; + public const int OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; + public const int OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; + public const int OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; + public const int OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; + public const int OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; + public const int OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; + public const int OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; + public const int OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; + public const int OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; + public const int OUTPUT_TEXTURE_COORD2_EXT = 0x879F; + public const int OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; + public const int OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; + public const int OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; + public const int OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; + public const int OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; + public const int OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; + public const int OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; + public const int OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; + public const int OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; + public const int OUTPUT_VERTEX_EXT = 0x879A; + public const int OUT_OF_MEMORY = 0x0505; + public const int OVERLAY_KHR = 0x9296; + public const int OVERLAY_NV = 0x9296; + public const int PACK_ALIGNMENT = 0x0D05; + public const int PACK_CMYK_HINT_EXT = 0x800E; + public const int PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; + public const int PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; + public const int PACK_COMPRESSED_BLOCK_SIZE = 0x912E; + public const int PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; + public const int PACK_IMAGE_DEPTH_SGIS = 0x8131; + public const int PACK_IMAGE_HEIGHT = 0x806C; + public const int PACK_IMAGE_HEIGHT_EXT = 0x806C; + public const int PACK_INVERT_MESA = 0x8758; + public const int PACK_LSB_FIRST = 0x0D01; + public const int PACK_RESAMPLE_OML = 0x8984; + public const int PACK_RESAMPLE_SGIX = 0x842E; + public const int PACK_ROW_BYTES_APPLE = 0x8A15; + public const int PACK_ROW_LENGTH = 0x0D02; + public const int PACK_SKIP_IMAGES = 0x806B; + public const int PACK_SKIP_IMAGES_EXT = 0x806B; + public const int PACK_SKIP_PIXELS = 0x0D04; + public const int PACK_SKIP_ROWS = 0x0D03; + public const int PACK_SKIP_VOLUMES_SGIS = 0x8130; + public const int PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; + public const int PACK_SWAP_BYTES = 0x0D00; + public const int PALETTE4_R5_G6_B5_OES = 0x8B92; + public const int PALETTE4_RGB5_A1_OES = 0x8B94; + public const int PALETTE4_RGB8_OES = 0x8B90; + public const int PALETTE4_RGBA4_OES = 0x8B93; + public const int PALETTE4_RGBA8_OES = 0x8B91; + public const int PALETTE8_R5_G6_B5_OES = 0x8B97; + public const int PALETTE8_RGB5_A1_OES = 0x8B99; + public const int PALETTE8_RGB8_OES = 0x8B95; + public const int PALETTE8_RGBA4_OES = 0x8B98; + public const int PALETTE8_RGBA8_OES = 0x8B96; + public const int PARALLEL_ARRAYS_INTEL = 0x83F4; + public const int PARAMETER_BUFFER = 0x80EE; + public const int PARAMETER_BUFFER_ARB = 0x80EE; + public const int PARAMETER_BUFFER_BINDING = 0x80EF; + public const int PARAMETER_BUFFER_BINDING_ARB = 0x80EF; + public const int PARTIAL_SUCCESS_NV = 0x902E; + public const int PASS_THROUGH_NV = 0x86E6; + public const int PATCHES = 0x000E; + public const int PATCH_DEFAULT_INNER_LEVEL = 0x8E73; + public const int PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; + public const int PATCH_VERTICES = 0x8E72; + public const int PATH_CLIENT_LENGTH_NV = 0x907F; + public const int PATH_COMMAND_COUNT_NV = 0x909D; + public const int PATH_COMPUTED_LENGTH_NV = 0x90A0; + public const int PATH_COORD_COUNT_NV = 0x909E; + public const int PATH_COVER_DEPTH_FUNC_NV = 0x90BF; + public const int PATH_DASH_ARRAY_COUNT_NV = 0x909F; + public const int PATH_DASH_CAPS_NV = 0x907B; + public const int PATH_DASH_OFFSET_NV = 0x907E; + public const int PATH_DASH_OFFSET_RESET_NV = 0x90B4; + public const int PATH_END_CAPS_NV = 0x9076; + public const int PATH_ERROR_POSITION_NV = 0x90AB; + public const int PATH_FILL_BOUNDING_BOX_NV = 0x90A1; + public const int PATH_FILL_COVER_MODE_NV = 0x9082; + public const int PATH_FILL_MASK_NV = 0x9081; + public const int PATH_FILL_MODE_NV = 0x9080; + public const int PATH_FORMAT_PS_NV = 0x9071; + public const int PATH_FORMAT_SVG_NV = 0x9070; + public const int PATH_GEN_COEFF_NV = 0x90B1; + public const int PATH_GEN_COMPONENTS_NV = 0x90B3; + public const int PATH_GEN_MODE_NV = 0x90B0; + public const int PATH_INITIAL_DASH_CAP_NV = 0x907C; + public const int PATH_INITIAL_END_CAP_NV = 0x9077; + public const int PATH_JOIN_STYLE_NV = 0x9079; + public const int PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; + public const int PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; + public const int PATH_MITER_LIMIT_NV = 0x907A; + public const int PATH_MODELVIEW_MATRIX_NV = 0x0BA6; + public const int PATH_MODELVIEW_NV = 0x1700; + public const int PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; + public const int PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; + public const int PATH_PROJECTION_MATRIX_NV = 0x0BA7; + public const int PATH_PROJECTION_NV = 0x1701; + public const int PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; + public const int PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; + public const int PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; + public const int PATH_STENCIL_FUNC_NV = 0x90B7; + public const int PATH_STENCIL_REF_NV = 0x90B8; + public const int PATH_STENCIL_VALUE_MASK_NV = 0x90B9; + public const int PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; + public const int PATH_STROKE_COVER_MODE_NV = 0x9083; + public const int PATH_STROKE_MASK_NV = 0x9084; + public const int PATH_STROKE_WIDTH_NV = 0x9075; + public const int PATH_TERMINAL_DASH_CAP_NV = 0x907D; + public const int PATH_TERMINAL_END_CAP_NV = 0x9078; + public const int PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; + public const int PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; + public const int PERCENTAGE_AMD = 0x8BC3; + public const int PERFMON_RESULT_AMD = 0x8BC6; + public const int PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; + public const int PERFMON_RESULT_SIZE_AMD = 0x8BC5; + public const int PERFORMANCE_MONITOR_AMD = 0x9152; + public const int PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; + public const int PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; + public const int PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; + public const int PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; + public const int PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; + public const int PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; + public const int PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; + public const int PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; + public const int PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; + public const int PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; + public const int PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; + public const int PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; + public const int PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; + public const int PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; + public const int PERFQUERY_FLUSH_INTEL = 0x83FA; + public const int PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; + public const int PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; + public const int PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; + public const int PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; + public const int PERFQUERY_WAIT_INTEL = 0x83FB; + public const int PERTURB_EXT = 0x85AE; + public const int PER_GPU_STORAGE_BIT_NV = 0x0800; + public const int PER_GPU_STORAGE_NV = 0x9548; + public const int PER_STAGE_CONSTANTS_NV = 0x8535; + public const int PHONG_HINT_WIN = 0x80EB; + public const int PHONG_WIN = 0x80EA; + public const int PINLIGHT_NV = 0x92A8; + public const int PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; + public const int PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; + public const int PIXEL_BUFFER_BARRIER_BIT = 0x00000080; + public const int PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; + public const int PIXEL_COUNTER_BITS_NV = 0x8864; + public const int PIXEL_COUNT_AVAILABLE_NV = 0x8867; + public const int PIXEL_COUNT_NV = 0x8866; + public const int PIXEL_CUBIC_WEIGHT_EXT = 0x8333; + public const int PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; + public const int PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; + public const int PIXEL_GROUP_COLOR_SGIS = 0x8356; + public const int PIXEL_MAG_FILTER_EXT = 0x8331; + public const int PIXEL_MIN_FILTER_EXT = 0x8332; + public const int PIXEL_PACK_BUFFER = 0x88EB; + public const int PIXEL_PACK_BUFFER_ARB = 0x88EB; + public const int PIXEL_PACK_BUFFER_BINDING = 0x88ED; + public const int PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; + public const int PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; + public const int PIXEL_PACK_BUFFER_EXT = 0x88EB; + public const int PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; + public const int PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; + public const int PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; + public const int PIXEL_TEXTURE_SGIS = 0x8353; + public const int PIXEL_TEX_GEN_MODE_SGIX = 0x832B; + public const int PIXEL_TEX_GEN_SGIX = 0x8139; + public const int PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; + public const int PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; + public const int PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; + public const int PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; + public const int PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; + public const int PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; + public const int PIXEL_TILE_HEIGHT_SGIX = 0x8141; + public const int PIXEL_TILE_WIDTH_SGIX = 0x8140; + public const int PIXEL_TRANSFORM_2D_EXT = 0x8330; + public const int PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; + public const int PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; + public const int PIXEL_UNPACK_BUFFER = 0x88EC; + public const int PIXEL_UNPACK_BUFFER_ARB = 0x88EC; + public const int PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; + public const int PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; + public const int PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; + public const int PIXEL_UNPACK_BUFFER_EXT = 0x88EC; + public const int PLUS_CLAMPED_ALPHA_NV = 0x92B2; + public const int PLUS_CLAMPED_NV = 0x92B1; + public const int PLUS_DARKER_NV = 0x9292; + public const int PLUS_NV = 0x9291; + public const int PN_TRIANGLES_ATI = 0x87F0; + public const int PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; + public const int PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; + public const int PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; + public const int PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; + public const int PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; + public const int PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; + public const int PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; + public const int POINT = 0x1B00; + public const int POINTS = 0x0000; + public const int POINT_DISTANCE_ATTENUATION_ARB = 0x8129; + public const int POINT_FADE_THRESHOLD_SIZE = 0x8128; + public const int POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; + public const int POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; + public const int POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; + public const int POINT_SIZE = 0x0B11; + public const int POINT_SIZE_GRANULARITY = 0x0B13; + public const int POINT_SIZE_MAX_ARB = 0x8127; + public const int POINT_SIZE_MAX_EXT = 0x8127; + public const int POINT_SIZE_MAX_SGIS = 0x8127; + public const int POINT_SIZE_MIN_ARB = 0x8126; + public const int POINT_SIZE_MIN_EXT = 0x8126; + public const int POINT_SIZE_MIN_SGIS = 0x8126; + public const int POINT_SIZE_RANGE = 0x0B12; + public const int POINT_SPRITE_ARB = 0x8861; + public const int POINT_SPRITE_COORD_ORIGIN = 0x8CA0; + public const int POINT_SPRITE_NV = 0x8861; + public const int POINT_SPRITE_R_MODE_NV = 0x8863; + public const int POLYGON_MODE = 0x0B40; + public const int POLYGON_OFFSET_BIAS_EXT = 0x8039; + public const int POLYGON_OFFSET_CLAMP = 0x8E1B; + public const int POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; + public const int POLYGON_OFFSET_COMMAND_NV = 0x000E; + public const int POLYGON_OFFSET_EXT = 0x8037; + public const int POLYGON_OFFSET_FACTOR = 0x8038; + public const int POLYGON_OFFSET_FACTOR_EXT = 0x8038; + public const int POLYGON_OFFSET_FILL = 0x8037; + public const int POLYGON_OFFSET_LINE = 0x2A02; + public const int POLYGON_OFFSET_POINT = 0x2A01; + public const int POLYGON_OFFSET_UNITS = 0x2A00; + public const int POLYGON_SMOOTH = 0x0B41; + public const int POLYGON_SMOOTH_HINT = 0x0C53; + public const int POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; + public const int POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; + public const int POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; + public const int POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; + public const int POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; + public const int POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; + public const int POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; + public const int POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; + public const int POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; + public const int POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; + public const int POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; + public const int POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; + public const int POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; + public const int POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; + public const int POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; + public const int POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; + public const int POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; + public const int POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; + public const int POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; + public const int POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; + public const int POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; + public const int POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; + public const int POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; + public const int PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; + public const int PRESENT_DURATION_NV = 0x8E2B; + public const int PRESENT_TIME_NV = 0x8E2A; + public const int PRESERVE_ATI = 0x8762; + public const int PREVIOUS_ARB = 0x8578; + public const int PREVIOUS_EXT = 0x8578; + public const int PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; + public const int PRIMARY_COLOR_ARB = 0x8577; + public const int PRIMARY_COLOR_EXT = 0x8577; + public const int PRIMARY_COLOR_NV = 0x852C; + public const int PRIMITIVES_GENERATED = 0x8C87; + public const int PRIMITIVES_GENERATED_EXT = 0x8C87; + public const int PRIMITIVES_GENERATED_NV = 0x8C87; + public const int PRIMITIVES_SUBMITTED = 0x82EF; + public const int PRIMITIVES_SUBMITTED_ARB = 0x82EF; + public const int PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; + public const int PRIMITIVE_ID_NV = 0x8C7C; + public const int PRIMITIVE_RESTART = 0x8F9D; + public const int PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; + public const int PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; + public const int PRIMITIVE_RESTART_INDEX = 0x8F9E; + public const int PRIMITIVE_RESTART_INDEX_NV = 0x8559; + public const int PRIMITIVE_RESTART_NV = 0x8558; + public const int PROGRAM = 0x82E2; + public const int PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; + public const int PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; + public const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; + public const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; + public const int PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; + public const int PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; + public const int PROGRAM_ATTRIBS_ARB = 0x88AC; + public const int PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; + public const int PROGRAM_BINARY_FORMATS = 0x87FF; + public const int PROGRAM_BINARY_FORMAT_MESA = 0x875F; + public const int PROGRAM_BINARY_LENGTH = 0x8741; + public const int PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; + public const int PROGRAM_BINDING_ARB = 0x8677; + public const int PROGRAM_ERROR_POSITION_ARB = 0x864B; + public const int PROGRAM_ERROR_POSITION_NV = 0x864B; + public const int PROGRAM_ERROR_STRING_ARB = 0x8874; + public const int PROGRAM_ERROR_STRING_NV = 0x8874; + public const int PROGRAM_FORMAT_ARB = 0x8876; + public const int PROGRAM_FORMAT_ASCII_ARB = 0x8875; + public const int PROGRAM_INPUT = 0x92E3; + public const int PROGRAM_INSTRUCTIONS_ARB = 0x88A0; + public const int PROGRAM_LENGTH_ARB = 0x8627; + public const int PROGRAM_LENGTH_NV = 0x8627; + public const int PROGRAM_MATRIX_EXT = 0x8E2D; + public const int PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; + public const int PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; + public const int PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; + public const int PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; + public const int PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; + public const int PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; + public const int PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; + public const int PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; + public const int PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; + public const int PROGRAM_OBJECT_ARB = 0x8B40; + public const int PROGRAM_OBJECT_EXT = 0x8B40; + public const int PROGRAM_OUTPUT = 0x92E4; + public const int PROGRAM_PARAMETERS_ARB = 0x88A8; + public const int PROGRAM_PARAMETER_NV = 0x8644; + public const int PROGRAM_PIPELINE = 0x82E4; + public const int PROGRAM_PIPELINE_BINDING = 0x825A; + public const int PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; + public const int PROGRAM_POINT_SIZE = 0x8642; + public const int PROGRAM_POINT_SIZE_ARB = 0x8642; + public const int PROGRAM_POINT_SIZE_EXT = 0x8642; + public const int PROGRAM_RESIDENT_NV = 0x8647; + public const int PROGRAM_RESULT_COMPONENTS_NV = 0x8907; + public const int PROGRAM_SEPARABLE = 0x8258; + public const int PROGRAM_STRING_ARB = 0x8628; + public const int PROGRAM_STRING_NV = 0x8628; + public const int PROGRAM_TARGET_NV = 0x8646; + public const int PROGRAM_TEMPORARIES_ARB = 0x88A4; + public const int PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; + public const int PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; + public const int PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; + public const int PROTECTED_MEMORY_OBJECT_EXT = 0x959B; + public const int PROVOKING_VERTEX = 0x8E4F; + public const int PROVOKING_VERTEX_EXT = 0x8E4F; + public const int PROXY_COLOR_TABLE_SGI = 0x80D3; + public const int PROXY_HISTOGRAM_EXT = 0x8025; + public const int PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; + public const int PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; + public const int PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; + public const int PROXY_TEXTURE_1D = 0x8063; + public const int PROXY_TEXTURE_1D_ARRAY = 0x8C19; + public const int PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; + public const int PROXY_TEXTURE_1D_EXT = 0x8063; + public const int PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; + public const int PROXY_TEXTURE_2D = 0x8064; + public const int PROXY_TEXTURE_2D_ARRAY = 0x8C1B; + public const int PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; + public const int PROXY_TEXTURE_2D_EXT = 0x8064; + public const int PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; + public const int PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; + public const int PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; + public const int PROXY_TEXTURE_3D = 0x8070; + public const int PROXY_TEXTURE_3D_EXT = 0x8070; + public const int PROXY_TEXTURE_4D_SGIS = 0x8135; + public const int PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; + public const int PROXY_TEXTURE_CUBE_MAP = 0x851B; + public const int PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; + public const int PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; + public const int PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; + public const int PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; + public const int PROXY_TEXTURE_RECTANGLE = 0x84F7; + public const int PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; + public const int PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; + public const int PURGEABLE_APPLE = 0x8A1D; + public const int PURGED_CONTEXT_RESET_NV = 0x92BB; + public const int QUADRATIC_CURVE_TO_NV = 0x0A; + public const int QUADS = 0x0007; + public const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; + public const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; + public const int QUAD_ALPHA4_SGIS = 0x811E; + public const int QUAD_ALPHA8_SGIS = 0x811F; + public const int QUAD_INTENSITY4_SGIS = 0x8122; + public const int QUAD_INTENSITY8_SGIS = 0x8123; + public const int QUAD_LUMINANCE4_SGIS = 0x8120; + public const int QUAD_LUMINANCE8_SGIS = 0x8121; + public const int QUAD_MESH_SUN = 0x8614; + public const int QUAD_TEXTURE_SELECT_SGIS = 0x8125; + public const int QUARTER_BIT_ATI = 0x00000010; + public const int QUERY = 0x82E3; + public const uint QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; + public const int QUERY_BUFFER = 0x9192; + public const int QUERY_BUFFER_AMD = 0x9192; + public const int QUERY_BUFFER_BARRIER_BIT = 0x00008000; + public const int QUERY_BUFFER_BINDING = 0x9193; + public const int QUERY_BUFFER_BINDING_AMD = 0x9193; + public const int QUERY_BY_REGION_NO_WAIT = 0x8E16; + public const int QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; + public const int QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; + public const int QUERY_BY_REGION_WAIT = 0x8E15; + public const int QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; + public const int QUERY_BY_REGION_WAIT_NV = 0x8E15; + public const int QUERY_COUNTER_BITS = 0x8864; + public const int QUERY_COUNTER_BITS_ARB = 0x8864; + public const int QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; + public const int QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; + public const int QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; + public const int QUERY_NO_WAIT = 0x8E14; + public const int QUERY_NO_WAIT_INVERTED = 0x8E18; + public const int QUERY_NO_WAIT_NV = 0x8E14; + public const int QUERY_OBJECT_AMD = 0x9153; + public const int QUERY_OBJECT_EXT = 0x9153; + public const int QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; + public const int QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; + public const int QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; + public const int QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; + public const int QUERY_RESOURCE_TEXTURE_NV = 0x9545; + public const int QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; + public const int QUERY_RESULT = 0x8866; + public const int QUERY_RESULT_ARB = 0x8866; + public const int QUERY_RESULT_AVAILABLE = 0x8867; + public const int QUERY_RESULT_AVAILABLE_ARB = 0x8867; + public const int QUERY_RESULT_NO_WAIT = 0x9194; + public const int QUERY_RESULT_NO_WAIT_AMD = 0x9194; + public const int QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; + public const int QUERY_TARGET = 0x82EA; + public const int QUERY_WAIT = 0x8E13; + public const int QUERY_WAIT_INVERTED = 0x8E17; + public const int QUERY_WAIT_NV = 0x8E13; + public const int R11F_G11F_B10F = 0x8C3A; + public const int R11F_G11F_B10F_EXT = 0x8C3A; + public const int R16 = 0x822A; + public const int R16F = 0x822D; + public const int R16F_EXT = 0x822D; + public const int R16I = 0x8233; + public const int R16UI = 0x8234; + public const int R16_SNORM = 0x8F98; + public const int R1UI_C3F_V3F_SUN = 0x85C6; + public const int R1UI_C4F_N3F_V3F_SUN = 0x85C8; + public const int R1UI_C4UB_V3F_SUN = 0x85C5; + public const int R1UI_N3F_V3F_SUN = 0x85C7; + public const int R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; + public const int R1UI_T2F_N3F_V3F_SUN = 0x85CA; + public const int R1UI_T2F_V3F_SUN = 0x85C9; + public const int R1UI_V3F_SUN = 0x85C4; + public const int R32F = 0x822E; + public const int R32F_EXT = 0x822E; + public const int R32I = 0x8235; + public const int R32UI = 0x8236; + public const int R3_G3_B2 = 0x2A10; + public const int R8 = 0x8229; + public const int R8I = 0x8231; + public const int R8UI = 0x8232; + public const int R8_EXT = 0x8229; + public const int R8_SNORM = 0x8F94; + public const int RASTERIZER_DISCARD = 0x8C89; + public const int RASTERIZER_DISCARD_EXT = 0x8C89; + public const int RASTERIZER_DISCARD_NV = 0x8C89; + public const int RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; + public const int RASTER_MULTISAMPLE_EXT = 0x9327; + public const int RASTER_POSITION_UNCLIPPED_IBM = 0x19262; + public const int RASTER_SAMPLES_EXT = 0x9328; + public const int READ_BUFFER = 0x0C02; + public const int READ_FRAMEBUFFER = 0x8CA8; + public const int READ_FRAMEBUFFER_BINDING = 0x8CAA; + public const int READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; + public const int READ_FRAMEBUFFER_EXT = 0x8CA8; + public const int READ_ONLY = 0x88B8; + public const int READ_ONLY_ARB = 0x88B8; + public const int READ_PIXELS = 0x828C; + public const int READ_PIXELS_FORMAT = 0x828D; + public const int READ_PIXELS_TYPE = 0x828E; + public const int READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; + public const int READ_PIXEL_DATA_RANGE_NV = 0x8879; + public const int READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; + public const int READ_WRITE = 0x88BA; + public const int READ_WRITE_ARB = 0x88BA; + public const int RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; + public const int RECT_NV = 0xF6; + public const int RED = 0x1903; + public const int REDUCE_EXT = 0x8016; + public const int RED_BIT_ATI = 0x00000001; + public const int RED_INTEGER = 0x8D94; + public const int RED_INTEGER_EXT = 0x8D94; + public const int RED_MAX_CLAMP_INGR = 0x8564; + public const int RED_MIN_CLAMP_INGR = 0x8560; + public const int RED_NV = 0x1903; + public const int RED_SNORM = 0x8F90; + public const int REFERENCED_BY_COMPUTE_SHADER = 0x930B; + public const int REFERENCED_BY_FRAGMENT_SHADER = 0x930A; + public const int REFERENCED_BY_GEOMETRY_SHADER = 0x9309; + public const int REFERENCED_BY_MESH_SHADER_NV = 0x95A0; + public const int REFERENCED_BY_TASK_SHADER_NV = 0x95A1; + public const int REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; + public const int REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; + public const int REFERENCED_BY_VERTEX_SHADER = 0x9306; + public const int REFERENCE_PLANE_EQUATION_SGIX = 0x817E; + public const int REFERENCE_PLANE_SGIX = 0x817D; + public const int REFLECTION_MAP_ARB = 0x8512; + public const int REFLECTION_MAP_EXT = 0x8512; + public const int REFLECTION_MAP_NV = 0x8512; + public const int REGISTER_COMBINERS_NV = 0x8522; + public const int REG_0_ATI = 0x8921; + public const int REG_10_ATI = 0x892B; + public const int REG_11_ATI = 0x892C; + public const int REG_12_ATI = 0x892D; + public const int REG_13_ATI = 0x892E; + public const int REG_14_ATI = 0x892F; + public const int REG_15_ATI = 0x8930; + public const int REG_16_ATI = 0x8931; + public const int REG_17_ATI = 0x8932; + public const int REG_18_ATI = 0x8933; + public const int REG_19_ATI = 0x8934; + public const int REG_1_ATI = 0x8922; + public const int REG_20_ATI = 0x8935; + public const int REG_21_ATI = 0x8936; + public const int REG_22_ATI = 0x8937; + public const int REG_23_ATI = 0x8938; + public const int REG_24_ATI = 0x8939; + public const int REG_25_ATI = 0x893A; + public const int REG_26_ATI = 0x893B; + public const int REG_27_ATI = 0x893C; + public const int REG_28_ATI = 0x893D; + public const int REG_29_ATI = 0x893E; + public const int REG_2_ATI = 0x8923; + public const int REG_30_ATI = 0x893F; + public const int REG_31_ATI = 0x8940; + public const int REG_3_ATI = 0x8924; + public const int REG_4_ATI = 0x8925; + public const int REG_5_ATI = 0x8926; + public const int REG_6_ATI = 0x8927; + public const int REG_7_ATI = 0x8928; + public const int REG_8_ATI = 0x8929; + public const int REG_9_ATI = 0x892A; + public const int RELATIVE_ARC_TO_NV = 0xFF; + public const int RELATIVE_CONIC_CURVE_TO_NV = 0x1B; + public const int RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; + public const int RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; + public const int RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; + public const int RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; + public const int RELATIVE_LINE_TO_NV = 0x05; + public const int RELATIVE_MOVE_TO_NV = 0x03; + public const int RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; + public const int RELATIVE_RECT_NV = 0xF7; + public const int RELATIVE_ROUNDED_RECT2_NV = 0xEB; + public const int RELATIVE_ROUNDED_RECT4_NV = 0xED; + public const int RELATIVE_ROUNDED_RECT8_NV = 0xEF; + public const int RELATIVE_ROUNDED_RECT_NV = 0xE9; + public const int RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; + public const int RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; + public const int RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; + public const int RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; + public const int RELATIVE_VERTICAL_LINE_TO_NV = 0x09; + public const int RELEASED_APPLE = 0x8A19; + public const int RENDERBUFFER = 0x8D41; + public const int RENDERBUFFER_ALPHA_SIZE = 0x8D53; + public const int RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; + public const int RENDERBUFFER_BINDING = 0x8CA7; + public const int RENDERBUFFER_BINDING_EXT = 0x8CA7; + public const int RENDERBUFFER_BLUE_SIZE = 0x8D52; + public const int RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; + public const int RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; + public const int RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; + public const int RENDERBUFFER_DEPTH_SIZE = 0x8D54; + public const int RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; + public const int RENDERBUFFER_EXT = 0x8D41; + public const int RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; + public const int RENDERBUFFER_GREEN_SIZE = 0x8D51; + public const int RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; + public const int RENDERBUFFER_HEIGHT = 0x8D43; + public const int RENDERBUFFER_HEIGHT_EXT = 0x8D43; + public const int RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; + public const int RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; + public const int RENDERBUFFER_RED_SIZE = 0x8D50; + public const int RENDERBUFFER_RED_SIZE_EXT = 0x8D50; + public const int RENDERBUFFER_SAMPLES = 0x8CAB; + public const int RENDERBUFFER_SAMPLES_EXT = 0x8CAB; + public const int RENDERBUFFER_STENCIL_SIZE = 0x8D55; + public const int RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; + public const int RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; + public const int RENDERBUFFER_WIDTH = 0x8D42; + public const int RENDERBUFFER_WIDTH_EXT = 0x8D42; + public const int RENDERER = 0x1F01; + public const int RENDER_GPU_MASK_NV = 0x9558; + public const int REPEAT = 0x2901; + public const int REPLACE = 0x1E01; + public const int REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; + public const int REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; + public const int REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; + public const int REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; + public const int REPLACEMENT_CODE_SUN = 0x81D8; + public const int REPLACE_EXT = 0x8062; + public const int REPLACE_MIDDLE_SUN = 0x0002; + public const int REPLACE_OLDEST_SUN = 0x0003; + public const int REPLACE_VALUE_AMD = 0x874B; + public const int REPLICATE_BORDER_HP = 0x8153; + public const int REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; + public const int RESAMPLE_AVERAGE_OML = 0x8988; + public const int RESAMPLE_DECIMATE_OML = 0x8989; + public const int RESAMPLE_DECIMATE_SGIX = 0x8430; + public const int RESAMPLE_REPLICATE_OML = 0x8986; + public const int RESAMPLE_REPLICATE_SGIX = 0x8433; + public const int RESAMPLE_ZERO_FILL_OML = 0x8987; + public const int RESAMPLE_ZERO_FILL_SGIX = 0x8434; + public const int RESCALE_NORMAL_EXT = 0x803A; + public const int RESET_NOTIFICATION_STRATEGY = 0x8256; + public const int RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; + public const int RESTART_PATH_NV = 0xF0; + public const int RESTART_SUN = 0x0001; + public const int RETAINED_APPLE = 0x8A1B; + public const int RG = 0x8227; + public const int RG16 = 0x822C; + public const int RG16F = 0x822F; + public const int RG16F_EXT = 0x822F; + public const int RG16I = 0x8239; + public const int RG16UI = 0x823A; + public const int RG16_SNORM = 0x8F99; + public const int RG32F = 0x8230; + public const int RG32F_EXT = 0x8230; + public const int RG32I = 0x823B; + public const int RG32UI = 0x823C; + public const int RG8 = 0x822B; + public const int RG8I = 0x8237; + public const int RG8UI = 0x8238; + public const int RG8_EXT = 0x822B; + public const int RG8_SNORM = 0x8F95; + public const int RGB = 0x1907; + public const int RGB10 = 0x8052; + public const int RGB10_A2 = 0x8059; + public const int RGB10_A2UI = 0x906F; + public const int RGB10_A2_EXT = 0x8059; + public const int RGB10_EXT = 0x8052; + public const int RGB12 = 0x8053; + public const int RGB12_EXT = 0x8053; + public const int RGB16 = 0x8054; + public const int RGB16F = 0x881B; + public const int RGB16F_ARB = 0x881B; + public const int RGB16F_EXT = 0x881B; + public const int RGB16I = 0x8D89; + public const int RGB16I_EXT = 0x8D89; + public const int RGB16UI = 0x8D77; + public const int RGB16UI_EXT = 0x8D77; + public const int RGB16_EXT = 0x8054; + public const int RGB16_SNORM = 0x8F9A; + public const int RGB2_EXT = 0x804E; + public const int RGB32F = 0x8815; + public const int RGB32F_ARB = 0x8815; + public const int RGB32F_EXT = 0x8815; + public const int RGB32I = 0x8D83; + public const int RGB32I_EXT = 0x8D83; + public const int RGB32UI = 0x8D71; + public const int RGB32UI_EXT = 0x8D71; + public const int RGB4 = 0x804F; + public const int RGB4_EXT = 0x804F; + public const int RGB4_S3TC = 0x83A1; + public const int RGB5 = 0x8050; + public const int RGB565 = 0x8D62; + public const int RGB5_A1 = 0x8057; + public const int RGB5_A1_EXT = 0x8057; + public const int RGB5_EXT = 0x8050; + public const int RGB8 = 0x8051; + public const int RGB8I = 0x8D8F; + public const int RGB8I_EXT = 0x8D8F; + public const int RGB8UI = 0x8D7D; + public const int RGB8UI_EXT = 0x8D7D; + public const int RGB8_EXT = 0x8051; + public const int RGB8_SNORM = 0x8F96; + public const int RGB9_E5 = 0x8C3D; + public const int RGB9_E5_EXT = 0x8C3D; + public const int RGBA = 0x1908; + public const int RGBA12 = 0x805A; + public const int RGBA12_EXT = 0x805A; + public const int RGBA16 = 0x805B; + public const int RGBA16F = 0x881A; + public const int RGBA16F_ARB = 0x881A; + public const int RGBA16F_EXT = 0x881A; + public const int RGBA16I = 0x8D88; + public const int RGBA16I_EXT = 0x8D88; + public const int RGBA16UI = 0x8D76; + public const int RGBA16UI_EXT = 0x8D76; + public const int RGBA16_EXT = 0x805B; + public const int RGBA16_SNORM = 0x8F9B; + public const int RGBA2 = 0x8055; + public const int RGBA2_EXT = 0x8055; + public const int RGBA32F = 0x8814; + public const int RGBA32F_ARB = 0x8814; + public const int RGBA32F_EXT = 0x8814; + public const int RGBA32I = 0x8D82; + public const int RGBA32I_EXT = 0x8D82; + public const int RGBA32UI = 0x8D70; + public const int RGBA32UI_EXT = 0x8D70; + public const int RGBA4 = 0x8056; + public const int RGBA4_DXT5_S3TC = 0x83A5; + public const int RGBA4_EXT = 0x8056; + public const int RGBA4_S3TC = 0x83A3; + public const int RGBA8 = 0x8058; + public const int RGBA8I = 0x8D8E; + public const int RGBA8I_EXT = 0x8D8E; + public const int RGBA8UI = 0x8D7C; + public const int RGBA8UI_EXT = 0x8D7C; + public const int RGBA8_EXT = 0x8058; + public const int RGBA8_SNORM = 0x8F97; + public const int RGBA_DXT5_S3TC = 0x83A4; + public const int RGBA_FLOAT16_APPLE = 0x881A; + public const int RGBA_FLOAT16_ATI = 0x881A; + public const int RGBA_FLOAT32_APPLE = 0x8814; + public const int RGBA_FLOAT32_ATI = 0x8814; + public const int RGBA_FLOAT_MODE_ARB = 0x8820; + public const int RGBA_FLOAT_MODE_ATI = 0x8820; + public const int RGBA_INTEGER = 0x8D99; + public const int RGBA_INTEGER_EXT = 0x8D99; + public const int RGBA_INTEGER_MODE_EXT = 0x8D9E; + public const int RGBA_S3TC = 0x83A2; + public const int RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; + public const int RGBA_SNORM = 0x8F93; + public const int RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; + public const int RGB_422_APPLE = 0x8A1F; + public const int RGB_FLOAT16_APPLE = 0x881B; + public const int RGB_FLOAT16_ATI = 0x881B; + public const int RGB_FLOAT32_APPLE = 0x8815; + public const int RGB_FLOAT32_ATI = 0x8815; + public const int RGB_INTEGER = 0x8D98; + public const int RGB_INTEGER_EXT = 0x8D98; + public const int RGB_RAW_422_APPLE = 0x8A51; + public const int RGB_S3TC = 0x83A0; + public const int RGB_SCALE_ARB = 0x8573; + public const int RGB_SCALE_EXT = 0x8573; + public const int RGB_SNORM = 0x8F92; + public const int RG_INTEGER = 0x8228; + public const int RG_SNORM = 0x8F91; + public const int RIGHT = 0x0407; + public const int ROUNDED_RECT2_NV = 0xEA; + public const int ROUNDED_RECT4_NV = 0xEC; + public const int ROUNDED_RECT8_NV = 0xEE; + public const int ROUNDED_RECT_NV = 0xE8; + public const int ROUND_NV = 0x90A4; + public const int SAMPLER = 0x82E6; + public const int SAMPLER_1D = 0x8B5D; + public const int SAMPLER_1D_ARB = 0x8B5D; + public const int SAMPLER_1D_ARRAY = 0x8DC0; + public const int SAMPLER_1D_ARRAY_EXT = 0x8DC0; + public const int SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; + public const int SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; + public const int SAMPLER_1D_SHADOW = 0x8B61; + public const int SAMPLER_1D_SHADOW_ARB = 0x8B61; + public const int SAMPLER_2D = 0x8B5E; + public const int SAMPLER_2D_ARB = 0x8B5E; + public const int SAMPLER_2D_ARRAY = 0x8DC1; + public const int SAMPLER_2D_ARRAY_EXT = 0x8DC1; + public const int SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; + public const int SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; + public const int SAMPLER_2D_MULTISAMPLE = 0x9108; + public const int SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; + public const int SAMPLER_2D_RECT = 0x8B63; + public const int SAMPLER_2D_RECT_ARB = 0x8B63; + public const int SAMPLER_2D_RECT_SHADOW = 0x8B64; + public const int SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; + public const int SAMPLER_2D_SHADOW = 0x8B62; + public const int SAMPLER_2D_SHADOW_ARB = 0x8B62; + public const int SAMPLER_3D = 0x8B5F; + public const int SAMPLER_3D_ARB = 0x8B5F; + public const int SAMPLER_BINDING = 0x8919; + public const int SAMPLER_BUFFER = 0x8DC2; + public const int SAMPLER_BUFFER_AMD = 0x9001; + public const int SAMPLER_BUFFER_EXT = 0x8DC2; + public const int SAMPLER_CUBE = 0x8B60; + public const int SAMPLER_CUBE_ARB = 0x8B60; + public const int SAMPLER_CUBE_MAP_ARRAY = 0x900C; + public const int SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; + public const int SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; + public const int SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; + public const int SAMPLER_CUBE_SHADOW = 0x8DC5; + public const int SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; + public const int SAMPLER_OBJECT_AMD = 0x9155; + public const int SAMPLER_RENDERBUFFER_NV = 0x8E56; + public const int SAMPLES = 0x80A9; + public const int SAMPLES_3DFX = 0x86B4; + public const int SAMPLES_ARB = 0x80A9; + public const int SAMPLES_EXT = 0x80A9; + public const int SAMPLES_PASSED = 0x8914; + public const int SAMPLES_PASSED_ARB = 0x8914; + public const int SAMPLES_SGIS = 0x80A9; + public const int SAMPLE_ALPHA_TO_COVERAGE = 0x809E; + public const int SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; + public const int SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; + public const int SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; + public const int SAMPLE_ALPHA_TO_ONE = 0x809F; + public const int SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; + public const int SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; + public const int SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; + public const int SAMPLE_BUFFERS = 0x80A8; + public const int SAMPLE_BUFFERS_3DFX = 0x86B3; + public const int SAMPLE_BUFFERS_ARB = 0x80A8; + public const int SAMPLE_BUFFERS_EXT = 0x80A8; + public const int SAMPLE_BUFFERS_SGIS = 0x80A8; + public const int SAMPLE_COVERAGE = 0x80A0; + public const int SAMPLE_COVERAGE_ARB = 0x80A0; + public const int SAMPLE_COVERAGE_INVERT = 0x80AB; + public const int SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; + public const int SAMPLE_COVERAGE_VALUE = 0x80AA; + public const int SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; + public const int SAMPLE_LOCATION_ARB = 0x8E50; + public const int SAMPLE_LOCATION_NV = 0x8E50; + public const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; + public const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; + public const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; + public const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; + public const int SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; + public const int SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; + public const int SAMPLE_MASK = 0x8E51; + public const int SAMPLE_MASK_EXT = 0x80A0; + public const int SAMPLE_MASK_INVERT_EXT = 0x80AB; + public const int SAMPLE_MASK_INVERT_SGIS = 0x80AB; + public const int SAMPLE_MASK_NV = 0x8E51; + public const int SAMPLE_MASK_SGIS = 0x80A0; + public const int SAMPLE_MASK_VALUE = 0x8E52; + public const int SAMPLE_MASK_VALUE_EXT = 0x80AA; + public const int SAMPLE_MASK_VALUE_NV = 0x8E52; + public const int SAMPLE_MASK_VALUE_SGIS = 0x80AA; + public const int SAMPLE_PATTERN_EXT = 0x80AC; + public const int SAMPLE_PATTERN_SGIS = 0x80AC; + public const int SAMPLE_POSITION = 0x8E50; + public const int SAMPLE_POSITION_NV = 0x8E50; + public const int SAMPLE_SHADING = 0x8C36; + public const int SAMPLE_SHADING_ARB = 0x8C36; + public const int SATURATE_BIT_ATI = 0x00000040; + public const int SCALAR_EXT = 0x87BE; + public const int SCALEBIAS_HINT_SGIX = 0x8322; + public const int SCALED_RESOLVE_FASTEST_EXT = 0x90BA; + public const int SCALED_RESOLVE_NICEST_EXT = 0x90BB; + public const int SCALE_BY_FOUR_NV = 0x853F; + public const int SCALE_BY_ONE_HALF_NV = 0x8540; + public const int SCALE_BY_TWO_NV = 0x853E; + public const int SCISSOR_BOX = 0x0C10; + public const int SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; + public const int SCISSOR_COMMAND_NV = 0x0011; + public const int SCISSOR_TEST = 0x0C11; + public const int SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; + public const int SCREEN_COORDINATES_REND = 0x8490; + public const int SCREEN_KHR = 0x9295; + public const int SCREEN_NV = 0x9295; + public const int SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; + public const int SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; + public const int SECONDARY_COLOR_ARRAY_EXT = 0x845E; + public const int SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; + public const int SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; + public const int SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; + public const int SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; + public const int SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; + public const int SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; + public const int SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; + public const int SECONDARY_COLOR_NV = 0x852D; + public const int SECONDARY_INTERPOLATOR_ATI = 0x896D; + public const int SEMAPHORE_TYPE_BINARY_NV = 0x95B4; + public const int SEMAPHORE_TYPE_NV = 0x95B3; + public const int SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; + public const int SEPARABLE_2D_EXT = 0x8012; + public const int SEPARATE_ATTRIBS = 0x8C8D; + public const int SEPARATE_ATTRIBS_EXT = 0x8C8D; + public const int SEPARATE_ATTRIBS_NV = 0x8C8D; + public const int SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; + public const int SET = 0x150F; + public const int SET_AMD = 0x874A; + public const int SHADER = 0x82E1; + public const int SHADER_BINARY_FORMATS = 0x8DF8; + public const int SHADER_BINARY_FORMAT_SPIR_V = 0x9551; + public const int SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; + public const int SHADER_COMPILER = 0x8DFA; + public const int SHADER_CONSISTENT_NV = 0x86DD; + public const int SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; + public const int SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; + public const int SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; + public const int SHADER_IMAGE_ATOMIC = 0x82A6; + public const int SHADER_IMAGE_LOAD = 0x82A4; + public const int SHADER_IMAGE_STORE = 0x82A5; + public const int SHADER_INCLUDE_ARB = 0x8DAE; + public const int SHADER_OBJECT_ARB = 0x8B48; + public const int SHADER_OBJECT_EXT = 0x8B48; + public const int SHADER_OPERATION_NV = 0x86DF; + public const int SHADER_SOURCE_LENGTH = 0x8B88; + public const int SHADER_STORAGE_BARRIER_BIT = 0x00002000; + public const int SHADER_STORAGE_BLOCK = 0x92E6; + public const int SHADER_STORAGE_BUFFER = 0x90D2; + public const int SHADER_STORAGE_BUFFER_BINDING = 0x90D3; + public const int SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; + public const int SHADER_STORAGE_BUFFER_SIZE = 0x90D5; + public const int SHADER_STORAGE_BUFFER_START = 0x90D4; + public const int SHADER_TYPE = 0x8B4F; + public const int SHADING_LANGUAGE_VERSION = 0x8B8C; + public const int SHADING_LANGUAGE_VERSION_ARB = 0x8B8C; + public const int SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; + public const int SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; + public const int SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; + public const int SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; + public const int SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; + public const int SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; + public const int SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; + public const int SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; + public const int SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; + public const int SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; + public const int SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; + public const int SHADING_RATE_IMAGE_BINDING_NV = 0x955B; + public const int SHADING_RATE_IMAGE_NV = 0x9563; + public const int SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; + public const int SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; + public const int SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; + public const int SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; + public const int SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; + public const int SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; + public const int SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; + public const int SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; + public const int SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; + public const int SHADOW_AMBIENT_SGIX = 0x80BF; + public const int SHADOW_ATTENUATION_EXT = 0x834E; + public const int SHARED_EDGE_NV = 0xC0; + public const int SHARED_TEXTURE_PALETTE_EXT = 0x81FB; + public const int SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; + public const int SHORT = 0x1402; + public const int SIGNALED = 0x9119; + public const int SIGNED_ALPHA8_NV = 0x8706; + public const int SIGNED_ALPHA_NV = 0x8705; + public const int SIGNED_HILO16_NV = 0x86FA; + public const int SIGNED_HILO8_NV = 0x885F; + public const int SIGNED_HILO_NV = 0x86F9; + public const int SIGNED_IDENTITY_NV = 0x853C; + public const int SIGNED_INTENSITY8_NV = 0x8708; + public const int SIGNED_INTENSITY_NV = 0x8707; + public const int SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; + public const int SIGNED_LUMINANCE8_NV = 0x8702; + public const int SIGNED_LUMINANCE_ALPHA_NV = 0x8703; + public const int SIGNED_LUMINANCE_NV = 0x8701; + public const int SIGNED_NEGATE_NV = 0x853D; + public const int SIGNED_NORMALIZED = 0x8F9C; + public const int SIGNED_RGB8_NV = 0x86FF; + public const int SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; + public const int SIGNED_RGBA8_NV = 0x86FC; + public const int SIGNED_RGBA_NV = 0x86FB; + public const int SIGNED_RGB_NV = 0x86FE; + public const int SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; + public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; + public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; + public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; + public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; + public const int SINGLE_COLOR_EXT = 0x81F9; + public const int SKIP_COMPONENTS1_NV = -6; + public const int SKIP_COMPONENTS2_NV = -5; + public const int SKIP_COMPONENTS3_NV = -4; + public const int SKIP_COMPONENTS4_NV = -3; + public const int SKIP_DECODE_EXT = 0x8A4A; + public const int SKIP_MISSING_GLYPH_NV = 0x90A9; + public const int SLICE_ACCUM_SUN = 0x85CC; + public const int SLUMINANCE8_ALPHA8_EXT = 0x8C45; + public const int SLUMINANCE8_EXT = 0x8C47; + public const int SLUMINANCE_ALPHA_EXT = 0x8C44; + public const int SLUMINANCE_EXT = 0x8C46; + public const int SMALL_CCW_ARC_TO_NV = 0x12; + public const int SMALL_CW_ARC_TO_NV = 0x14; + public const int SMOOTH_CUBIC_CURVE_TO_NV = 0x10; + public const int SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; + public const int SMOOTH_LINE_WIDTH_RANGE = 0x0B22; + public const int SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; + public const int SMOOTH_POINT_SIZE_RANGE = 0x0B12; + public const int SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; + public const int SM_COUNT_NV = 0x933B; + public const int SOFTLIGHT_KHR = 0x929C; + public const int SOFTLIGHT_NV = 0x929C; + public const int SOURCE0_ALPHA_ARB = 0x8588; + public const int SOURCE0_ALPHA_EXT = 0x8588; + public const int SOURCE0_RGB_ARB = 0x8580; + public const int SOURCE0_RGB_EXT = 0x8580; + public const int SOURCE1_ALPHA = 0x8589; + public const int SOURCE1_ALPHA_ARB = 0x8589; + public const int SOURCE1_ALPHA_EXT = 0x8589; + public const int SOURCE1_RGB_ARB = 0x8581; + public const int SOURCE1_RGB_EXT = 0x8581; + public const int SOURCE2_ALPHA_ARB = 0x858A; + public const int SOURCE2_ALPHA_EXT = 0x858A; + public const int SOURCE2_RGB_ARB = 0x8582; + public const int SOURCE2_RGB_EXT = 0x8582; + public const int SOURCE3_ALPHA_NV = 0x858B; + public const int SOURCE3_RGB_NV = 0x8583; + public const int SPARE0_NV = 0x852E; + public const int SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; + public const int SPARE1_NV = 0x852F; + public const int SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; + public const int SPARSE_STORAGE_BIT_ARB = 0x0400; + public const int SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; + public const int SPIR_V_BINARY = 0x9552; + public const int SPIR_V_BINARY_ARB = 0x9552; + public const int SPIR_V_EXTENSIONS = 0x9553; + public const int SPRITE_AXIAL_SGIX = 0x814C; + public const int SPRITE_AXIS_SGIX = 0x814A; + public const int SPRITE_EYE_ALIGNED_SGIX = 0x814E; + public const int SPRITE_MODE_SGIX = 0x8149; + public const int SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; + public const int SPRITE_SGIX = 0x8148; + public const int SPRITE_TRANSLATION_SGIX = 0x814B; + public const int SQUARE_NV = 0x90A3; + public const int SR8_EXT = 0x8FBD; + public const int SRC1_ALPHA = 0x8589; + public const int SRC1_COLOR = 0x88F9; + public const int SRC_ALPHA = 0x0302; + public const int SRC_ALPHA_SATURATE = 0x0308; + public const int SRC_ATOP_NV = 0x928E; + public const int SRC_COLOR = 0x0300; + public const int SRC_IN_NV = 0x928A; + public const int SRC_NV = 0x9286; + public const int SRC_OUT_NV = 0x928C; + public const int SRC_OVER_NV = 0x9288; + public const int SRG8_EXT = 0x8FBE; + public const int SRGB = 0x8C40; + public const int SRGB8 = 0x8C41; + public const int SRGB8_ALPHA8 = 0x8C43; + public const int SRGB8_ALPHA8_EXT = 0x8C43; + public const int SRGB8_EXT = 0x8C41; + public const int SRGB_ALPHA = 0x8C42; + public const int SRGB_ALPHA_EXT = 0x8C42; + public const int SRGB_DECODE_ARB = 0x8299; + public const int SRGB_EXT = 0x8C40; + public const int SRGB_READ = 0x8297; + public const int SRGB_WRITE = 0x8298; + public const int STACK_OVERFLOW = 0x0503; + public const int STACK_UNDERFLOW = 0x0504; + public const int STANDARD_FONT_FORMAT_NV = 0x936C; + public const int STANDARD_FONT_NAME_NV = 0x9072; + public const int STATIC_ATI = 0x8760; + public const int STATIC_COPY = 0x88E6; + public const int STATIC_COPY_ARB = 0x88E6; + public const int STATIC_DRAW = 0x88E4; + public const int STATIC_DRAW_ARB = 0x88E4; + public const int STATIC_READ = 0x88E5; + public const int STATIC_READ_ARB = 0x88E5; + public const int STATIC_VERTEX_ARRAY_IBM = 103061; + public const int STENCIL = 0x1802; + public const int STENCIL_ATTACHMENT = 0x8D20; + public const int STENCIL_ATTACHMENT_EXT = 0x8D20; + public const int STENCIL_BACK_FAIL = 0x8801; + public const int STENCIL_BACK_FAIL_ATI = 0x8801; + public const int STENCIL_BACK_FUNC = 0x8800; + public const int STENCIL_BACK_FUNC_ATI = 0x8800; + public const int STENCIL_BACK_OP_VALUE_AMD = 0x874D; + public const int STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; + public const int STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; + public const int STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; + public const int STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; + public const int STENCIL_BACK_REF = 0x8CA3; + public const int STENCIL_BACK_VALUE_MASK = 0x8CA4; + public const int STENCIL_BACK_WRITEMASK = 0x8CA5; + public const int STENCIL_BUFFER_BIT = 0x00000400; + public const int STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; + public const int STENCIL_CLEAR_VALUE = 0x0B91; + public const int STENCIL_COMPONENTS = 0x8285; + public const int STENCIL_FAIL = 0x0B94; + public const int STENCIL_FUNC = 0x0B92; + public const int STENCIL_INDEX = 0x1901; + public const int STENCIL_INDEX1 = 0x8D46; + public const int STENCIL_INDEX16 = 0x8D49; + public const int STENCIL_INDEX16_EXT = 0x8D49; + public const int STENCIL_INDEX1_EXT = 0x8D46; + public const int STENCIL_INDEX4 = 0x8D47; + public const int STENCIL_INDEX4_EXT = 0x8D47; + public const int STENCIL_INDEX8 = 0x8D48; + public const int STENCIL_INDEX8_EXT = 0x8D48; + public const int STENCIL_OP_VALUE_AMD = 0x874C; + public const int STENCIL_PASS_DEPTH_FAIL = 0x0B95; + public const int STENCIL_PASS_DEPTH_PASS = 0x0B96; + public const int STENCIL_REF = 0x0B97; + public const int STENCIL_REF_COMMAND_NV = 0x000C; + public const int STENCIL_RENDERABLE = 0x8288; + public const int STENCIL_SAMPLES_NV = 0x932E; + public const int STENCIL_TAG_BITS_EXT = 0x88F2; + public const int STENCIL_TEST = 0x0B90; + public const int STENCIL_TEST_TWO_SIDE_EXT = 0x8910; + public const int STENCIL_VALUE_MASK = 0x0B93; + public const int STENCIL_WRITEMASK = 0x0B98; + public const int STEREO = 0x0C33; + public const int STORAGE_CACHED_APPLE = 0x85BE; + public const int STORAGE_CLIENT_APPLE = 0x85B4; + public const int STORAGE_PRIVATE_APPLE = 0x85BD; + public const int STORAGE_SHARED_APPLE = 0x85BF; + public const int STREAM_COPY = 0x88E2; + public const int STREAM_COPY_ARB = 0x88E2; + public const int STREAM_DRAW = 0x88E0; + public const int STREAM_DRAW_ARB = 0x88E0; + public const int STREAM_RASTERIZATION_AMD = 0x91A0; + public const int STREAM_READ = 0x88E1; + public const int STREAM_READ_ARB = 0x88E1; + public const int STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; + public const int STRICT_LIGHTING_HINT_PGI = 0x1A217; + public const int STRICT_SCISSOR_HINT_PGI = 0x1A218; + public const int SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; + public const int SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; + public const int SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; + public const int SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; + public const int SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; + public const int SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; + public const int SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; + public const int SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; + public const int SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; + public const int SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; + public const int SUBGROUP_SIZE_KHR = 0x9532; + public const int SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; + public const int SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; + public const int SUBPIXEL_BITS = 0x0D50; + public const int SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; + public const int SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; + public const int SUBSAMPLE_DISTANCE_AMD = 0x883F; + public const int SUBTRACT_ARB = 0x84E7; + public const int SUB_ATI = 0x8965; + public const int SUCCESS_NV = 0x902F; + public const int SUPERSAMPLE_SCALE_X_NV = 0x9372; + public const int SUPERSAMPLE_SCALE_Y_NV = 0x9373; + public const int SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; + public const int SURFACE_MAPPED_NV = 0x8700; + public const int SURFACE_REGISTERED_NV = 0x86FD; + public const int SURFACE_STATE_NV = 0x86EB; + public const int SWIZZLE_STQ_ATI = 0x8977; + public const int SWIZZLE_STQ_DQ_ATI = 0x8979; + public const int SWIZZLE_STRQ_ATI = 0x897A; + public const int SWIZZLE_STRQ_DQ_ATI = 0x897B; + public const int SWIZZLE_STR_ATI = 0x8976; + public const int SWIZZLE_STR_DR_ATI = 0x8978; + public const int SYNC_CL_EVENT_ARB = 0x8240; + public const int SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; + public const int SYNC_CONDITION = 0x9113; + public const int SYNC_FENCE = 0x9116; + public const int SYNC_FLAGS = 0x9115; + public const int SYNC_FLUSH_COMMANDS_BIT = 0x00000001; + public const int SYNC_GPU_COMMANDS_COMPLETE = 0x9117; + public const int SYNC_STATUS = 0x9114; + public const int SYNC_X11_FENCE_EXT = 0x90E1; + public const int SYSTEM_FONT_NAME_NV = 0x9073; + public const int T2F_IUI_N3F_V2F_EXT = 0x81B3; + public const int T2F_IUI_N3F_V3F_EXT = 0x81B4; + public const int T2F_IUI_V2F_EXT = 0x81B1; + public const int T2F_IUI_V3F_EXT = 0x81B2; + public const int TABLE_TOO_LARGE_EXT = 0x8031; + public const int TANGENT_ARRAY_EXT = 0x8439; + public const int TANGENT_ARRAY_POINTER_EXT = 0x8442; + public const int TANGENT_ARRAY_STRIDE_EXT = 0x843F; + public const int TANGENT_ARRAY_TYPE_EXT = 0x843E; + public const int TASK_SHADER_BIT_NV = 0x00000080; + public const int TASK_SHADER_NV = 0x955A; + public const int TASK_SUBROUTINE_NV = 0x957D; + public const int TASK_SUBROUTINE_UNIFORM_NV = 0x957F; + public const int TASK_WORK_GROUP_SIZE_NV = 0x953F; + public const int TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; + public const int TESSELLATION_FACTOR_AMD = 0x9005; + public const int TESSELLATION_MODE_AMD = 0x9004; + public const int TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; + public const int TESS_CONTROL_PROGRAM_NV = 0x891E; + public const int TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; + public const int TESS_CONTROL_SHADER = 0x8E88; + public const int TESS_CONTROL_SHADER_BIT = 0x00000008; + public const int TESS_CONTROL_SHADER_PATCHES = 0x82F1; + public const int TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; + public const int TESS_CONTROL_SUBROUTINE = 0x92E9; + public const int TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; + public const int TESS_CONTROL_TEXTURE = 0x829C; + public const int TESS_EVALUATION_PROGRAM_NV = 0x891F; + public const int TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; + public const int TESS_EVALUATION_SHADER = 0x8E87; + public const int TESS_EVALUATION_SHADER_BIT = 0x00000010; + public const int TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2; + public const int TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; + public const int TESS_EVALUATION_SUBROUTINE = 0x92EA; + public const int TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; + public const int TESS_EVALUATION_TEXTURE = 0x829D; + public const int TESS_GEN_MODE = 0x8E76; + public const int TESS_GEN_POINT_MODE = 0x8E79; + public const int TESS_GEN_SPACING = 0x8E77; + public const int TESS_GEN_VERTEX_ORDER = 0x8E78; + public const int TEXCOORD1_BIT_PGI = 0x10000000; + public const int TEXCOORD2_BIT_PGI = 0x20000000; + public const int TEXCOORD3_BIT_PGI = 0x40000000; + public const uint TEXCOORD4_BIT_PGI = 0x80000000; + public const int TEXTURE = 0x1702; + public const int TEXTURE0 = 0x84C0; + public const int TEXTURE0_ARB = 0x84C0; + public const int TEXTURE1 = 0x84C1; + public const int TEXTURE10 = 0x84CA; + public const int TEXTURE10_ARB = 0x84CA; + public const int TEXTURE11 = 0x84CB; + public const int TEXTURE11_ARB = 0x84CB; + public const int TEXTURE12 = 0x84CC; + public const int TEXTURE12_ARB = 0x84CC; + public const int TEXTURE13 = 0x84CD; + public const int TEXTURE13_ARB = 0x84CD; + public const int TEXTURE14 = 0x84CE; + public const int TEXTURE14_ARB = 0x84CE; + public const int TEXTURE15 = 0x84CF; + public const int TEXTURE15_ARB = 0x84CF; + public const int TEXTURE16 = 0x84D0; + public const int TEXTURE16_ARB = 0x84D0; + public const int TEXTURE17 = 0x84D1; + public const int TEXTURE17_ARB = 0x84D1; + public const int TEXTURE18 = 0x84D2; + public const int TEXTURE18_ARB = 0x84D2; + public const int TEXTURE19 = 0x84D3; + public const int TEXTURE19_ARB = 0x84D3; + public const int TEXTURE1_ARB = 0x84C1; + public const int TEXTURE2 = 0x84C2; + public const int TEXTURE20 = 0x84D4; + public const int TEXTURE20_ARB = 0x84D4; + public const int TEXTURE21 = 0x84D5; + public const int TEXTURE21_ARB = 0x84D5; + public const int TEXTURE22 = 0x84D6; + public const int TEXTURE22_ARB = 0x84D6; + public const int TEXTURE23 = 0x84D7; + public const int TEXTURE23_ARB = 0x84D7; + public const int TEXTURE24 = 0x84D8; + public const int TEXTURE24_ARB = 0x84D8; + public const int TEXTURE25 = 0x84D9; + public const int TEXTURE25_ARB = 0x84D9; + public const int TEXTURE26 = 0x84DA; + public const int TEXTURE26_ARB = 0x84DA; + public const int TEXTURE27 = 0x84DB; + public const int TEXTURE27_ARB = 0x84DB; + public const int TEXTURE28 = 0x84DC; + public const int TEXTURE28_ARB = 0x84DC; + public const int TEXTURE29 = 0x84DD; + public const int TEXTURE29_ARB = 0x84DD; + public const int TEXTURE2_ARB = 0x84C2; + public const int TEXTURE3 = 0x84C3; + public const int TEXTURE30 = 0x84DE; + public const int TEXTURE30_ARB = 0x84DE; + public const int TEXTURE31 = 0x84DF; + public const int TEXTURE31_ARB = 0x84DF; + public const int TEXTURE3_ARB = 0x84C3; + public const int TEXTURE4 = 0x84C4; + public const int TEXTURE4_ARB = 0x84C4; + public const int TEXTURE5 = 0x84C5; + public const int TEXTURE5_ARB = 0x84C5; + public const int TEXTURE6 = 0x84C6; + public const int TEXTURE6_ARB = 0x84C6; + public const int TEXTURE7 = 0x84C7; + public const int TEXTURE7_ARB = 0x84C7; + public const int TEXTURE8 = 0x84C8; + public const int TEXTURE8_ARB = 0x84C8; + public const int TEXTURE9 = 0x84C9; + public const int TEXTURE9_ARB = 0x84C9; + public const int TEXTURE_1D = 0x0DE0; + public const int TEXTURE_1D_ARRAY = 0x8C18; + public const int TEXTURE_1D_ARRAY_EXT = 0x8C18; + public const int TEXTURE_1D_BINDING_EXT = 0x8068; + public const int TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; + public const int TEXTURE_1D_STACK_MESAX = 0x8759; + public const int TEXTURE_2D = 0x0DE1; + public const int TEXTURE_2D_ARRAY = 0x8C1A; + public const int TEXTURE_2D_ARRAY_EXT = 0x8C1A; + public const int TEXTURE_2D_BINDING_EXT = 0x8069; + public const int TEXTURE_2D_MULTISAMPLE = 0x9100; + public const int TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; + public const int TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; + public const int TEXTURE_2D_STACK_MESAX = 0x875A; + public const int TEXTURE_3D = 0x806F; + public const int TEXTURE_3D_BINDING_EXT = 0x806A; + public const int TEXTURE_3D_EXT = 0x806F; + public const int TEXTURE_4DSIZE_SGIS = 0x8136; + public const int TEXTURE_4D_BINDING_SGIS = 0x814F; + public const int TEXTURE_4D_SGIS = 0x8134; + public const int TEXTURE_ALPHA_SIZE = 0x805F; + public const int TEXTURE_ALPHA_SIZE_EXT = 0x805F; + public const int TEXTURE_ALPHA_TYPE = 0x8C13; + public const int TEXTURE_ALPHA_TYPE_ARB = 0x8C13; + public const int TEXTURE_APPLICATION_MODE_EXT = 0x834F; + public const int TEXTURE_BASE_LEVEL = 0x813C; + public const int TEXTURE_BASE_LEVEL_SGIS = 0x813C; + public const int TEXTURE_BINDING_1D = 0x8068; + public const int TEXTURE_BINDING_1D_ARRAY = 0x8C1C; + public const int TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; + public const int TEXTURE_BINDING_2D = 0x8069; + public const int TEXTURE_BINDING_2D_ARRAY = 0x8C1D; + public const int TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; + public const int TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; + public const int TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; + public const int TEXTURE_BINDING_3D = 0x806A; + public const int TEXTURE_BINDING_BUFFER = 0x8C2C; + public const int TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; + public const int TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; + public const int TEXTURE_BINDING_CUBE_MAP = 0x8514; + public const int TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; + public const int TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; + public const int TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; + public const int TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; + public const int TEXTURE_BINDING_RECTANGLE = 0x84F6; + public const int TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; + public const int TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; + public const int TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; + public const int TEXTURE_BLUE_SIZE = 0x805E; + public const int TEXTURE_BLUE_SIZE_EXT = 0x805E; + public const int TEXTURE_BLUE_TYPE = 0x8C12; + public const int TEXTURE_BLUE_TYPE_ARB = 0x8C12; + public const int TEXTURE_BORDER_COLOR = 0x1004; + public const int TEXTURE_BORDER_VALUES_NV = 0x871A; + public const int TEXTURE_BUFFER = 0x8C2A; + public const int TEXTURE_BUFFER_ARB = 0x8C2A; + public const int TEXTURE_BUFFER_BINDING = 0x8C2A; + public const int TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; + public const int TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; + public const int TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; + public const int TEXTURE_BUFFER_EXT = 0x8C2A; + public const int TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; + public const int TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; + public const int TEXTURE_BUFFER_OFFSET = 0x919D; + public const int TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; + public const int TEXTURE_BUFFER_SIZE = 0x919E; + public const int TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; + public const int TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; + public const int TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; + public const int TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; + public const int TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; + public const int TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; + public const int TEXTURE_COLOR_SAMPLES_NV = 0x9046; + public const int TEXTURE_COLOR_TABLE_SGI = 0x80BC; + public const int TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; + public const int TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; + public const int TEXTURE_COMPARE_FUNC = 0x884D; + public const int TEXTURE_COMPARE_FUNC_ARB = 0x884D; + public const int TEXTURE_COMPARE_MODE = 0x884C; + public const int TEXTURE_COMPARE_MODE_ARB = 0x884C; + public const int TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; + public const int TEXTURE_COMPARE_SGIX = 0x819A; + public const int TEXTURE_COMPRESSED = 0x86A1; + public const int TEXTURE_COMPRESSED_ARB = 0x86A1; + public const int TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; + public const int TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; + public const int TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; + public const int TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; + public const int TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; + public const int TEXTURE_COMPRESSION_HINT = 0x84EF; + public const int TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; + public const int TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; + public const int TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; + public const int TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; + public const int TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; + public const int TEXTURE_COORD_ARRAY_EXT = 0x8078; + public const int TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; + public const int TEXTURE_COORD_ARRAY_LIST_IBM = 103074; + public const int TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; + public const int TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; + public const int TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; + public const int TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; + public const int TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; + public const int TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; + public const int TEXTURE_COORD_NV = 0x8C79; + public const int TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; + public const int TEXTURE_CUBE_MAP = 0x8513; + public const int TEXTURE_CUBE_MAP_ARB = 0x8513; + public const int TEXTURE_CUBE_MAP_ARRAY = 0x9009; + public const int TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; + public const int TEXTURE_CUBE_MAP_EXT = 0x8513; + public const int TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; + public const int TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; + public const int TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; + public const int TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; + public const int TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; + public const int TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; + public const int TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; + public const int TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; + public const int TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; + public const int TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; + public const int TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; + public const int TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; + public const int TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; + public const int TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; + public const int TEXTURE_DEFORMATION_SGIX = 0x8195; + public const int TEXTURE_DEPTH = 0x8071; + public const int TEXTURE_DEPTH_EXT = 0x8071; + public const int TEXTURE_DEPTH_SIZE = 0x884A; + public const int TEXTURE_DEPTH_SIZE_ARB = 0x884A; + public const int TEXTURE_DEPTH_TYPE = 0x8C16; + public const int TEXTURE_DEPTH_TYPE_ARB = 0x8C16; + public const int TEXTURE_DS_SIZE_NV = 0x871D; + public const int TEXTURE_DT_SIZE_NV = 0x871E; + public const int TEXTURE_ENV_BIAS_SGIX = 0x80BE; + public const int TEXTURE_FETCH_BARRIER_BIT = 0x00000008; + public const int TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; + public const int TEXTURE_FILTER4_SIZE_SGIS = 0x8147; + public const int TEXTURE_FILTER_CONTROL_EXT = 0x8500; + public const int TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; + public const int TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; + public const int TEXTURE_FREE_MEMORY_ATI = 0x87FC; + public const int TEXTURE_GATHER = 0x82A2; + public const int TEXTURE_GATHER_SHADOW = 0x82A3; + public const int TEXTURE_GEQUAL_R_SGIX = 0x819D; + public const int TEXTURE_GREEN_SIZE = 0x805D; + public const int TEXTURE_GREEN_SIZE_EXT = 0x805D; + public const int TEXTURE_GREEN_TYPE = 0x8C11; + public const int TEXTURE_GREEN_TYPE_ARB = 0x8C11; + public const int TEXTURE_HEIGHT = 0x1001; + public const int TEXTURE_HI_SIZE_NV = 0x871B; + public const int TEXTURE_IMAGE_FORMAT = 0x828F; + public const int TEXTURE_IMAGE_TYPE = 0x8290; + public const int TEXTURE_IMMUTABLE_FORMAT = 0x912F; + public const int TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; + public const int TEXTURE_IMMUTABLE_LEVELS = 0x82DF; + public const int TEXTURE_INDEX_SIZE_EXT = 0x80ED; + public const int TEXTURE_INTENSITY_SIZE_EXT = 0x8061; + public const int TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; + public const int TEXTURE_INTERNAL_FORMAT = 0x1003; + public const int TEXTURE_LEQUAL_R_SGIX = 0x819C; + public const int TEXTURE_LIGHTING_MODE_HP = 0x8167; + public const int TEXTURE_LIGHT_EXT = 0x8350; + public const int TEXTURE_LOD_BIAS = 0x8501; + public const int TEXTURE_LOD_BIAS_EXT = 0x8501; + public const int TEXTURE_LOD_BIAS_R_SGIX = 0x8190; + public const int TEXTURE_LOD_BIAS_S_SGIX = 0x818E; + public const int TEXTURE_LOD_BIAS_T_SGIX = 0x818F; + public const int TEXTURE_LO_SIZE_NV = 0x871C; + public const int TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; + public const int TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; + public const int TEXTURE_MAG_FILTER = 0x2800; + public const int TEXTURE_MAG_SIZE_NV = 0x871F; + public const int TEXTURE_MATERIAL_FACE_EXT = 0x8351; + public const int TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; + public const int TEXTURE_MAX_ANISOTROPY = 0x84FE; + public const int TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + public const int TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; + public const int TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; + public const int TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; + public const int TEXTURE_MAX_LEVEL = 0x813D; + public const int TEXTURE_MAX_LEVEL_SGIS = 0x813D; + public const int TEXTURE_MAX_LOD = 0x813B; + public const int TEXTURE_MAX_LOD_SGIS = 0x813B; + public const int TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; + public const int TEXTURE_MIN_FILTER = 0x2801; + public const int TEXTURE_MIN_LOD = 0x813A; + public const int TEXTURE_MIN_LOD_SGIS = 0x813A; + public const int TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; + public const int TEXTURE_NORMAL_EXT = 0x85AF; + public const int TEXTURE_POST_SPECULAR_HP = 0x8168; + public const int TEXTURE_PRE_SPECULAR_HP = 0x8169; + public const int TEXTURE_PRIORITY_EXT = 0x8066; + public const int TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; + public const int TEXTURE_RANGE_POINTER_APPLE = 0x85B8; + public const int TEXTURE_RECTANGLE = 0x84F5; + public const int TEXTURE_RECTANGLE_ARB = 0x84F5; + public const int TEXTURE_RECTANGLE_NV = 0x84F5; + public const int TEXTURE_REDUCTION_MODE_ARB = 0x9366; + public const int TEXTURE_REDUCTION_MODE_EXT = 0x9366; + public const int TEXTURE_RED_SIZE = 0x805C; + public const int TEXTURE_RED_SIZE_EXT = 0x805C; + public const int TEXTURE_RED_TYPE = 0x8C10; + public const int TEXTURE_RED_TYPE_ARB = 0x8C10; + public const int TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; + public const int TEXTURE_RENDERBUFFER_NV = 0x8E55; + public const int TEXTURE_RESIDENT_EXT = 0x8067; + public const int TEXTURE_SAMPLES = 0x9106; + public const int TEXTURE_SHADER_NV = 0x86DE; + public const int TEXTURE_SHADOW = 0x82A1; + public const int TEXTURE_SHARED_SIZE = 0x8C3F; + public const int TEXTURE_SHARED_SIZE_EXT = 0x8C3F; + public const int TEXTURE_SPARSE_ARB = 0x91A6; + public const int TEXTURE_SRGB_DECODE_EXT = 0x8A48; + public const int TEXTURE_STENCIL_SIZE = 0x88F1; + public const int TEXTURE_STENCIL_SIZE_EXT = 0x88F1; + public const int TEXTURE_STORAGE_HINT_APPLE = 0x85BC; + public const int TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; + public const int TEXTURE_SWIZZLE_A = 0x8E45; + public const int TEXTURE_SWIZZLE_A_EXT = 0x8E45; + public const int TEXTURE_SWIZZLE_B = 0x8E44; + public const int TEXTURE_SWIZZLE_B_EXT = 0x8E44; + public const int TEXTURE_SWIZZLE_G = 0x8E43; + public const int TEXTURE_SWIZZLE_G_EXT = 0x8E43; + public const int TEXTURE_SWIZZLE_R = 0x8E42; + public const int TEXTURE_SWIZZLE_RGBA = 0x8E46; + public const int TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; + public const int TEXTURE_SWIZZLE_R_EXT = 0x8E42; + public const int TEXTURE_TARGET = 0x1006; + public const int TEXTURE_TILING_EXT = 0x9580; + public const int TEXTURE_TOO_LARGE_EXT = 0x8065; + public const int TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; + public const int TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; + public const int TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; + public const int TEXTURE_VIEW = 0x82B5; + public const int TEXTURE_VIEW_MIN_LAYER = 0x82DD; + public const int TEXTURE_VIEW_MIN_LEVEL = 0x82DB; + public const int TEXTURE_VIEW_NUM_LAYERS = 0x82DE; + public const int TEXTURE_VIEW_NUM_LEVELS = 0x82DC; + public const int TEXTURE_WIDTH = 0x1000; + public const int TEXTURE_WRAP_Q_SGIS = 0x8137; + public const int TEXTURE_WRAP_R = 0x8072; + public const int TEXTURE_WRAP_R_EXT = 0x8072; + public const int TEXTURE_WRAP_S = 0x2802; + public const int TEXTURE_WRAP_T = 0x2803; + public const int TEXT_FRAGMENT_SHADER_ATI = 0x8200; + public const int TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; + public const int TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; + public const int TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; + public const int TILING_TYPES_EXT = 0x9583; + public const int TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; + public const int TIMEOUT_EXPIRED = 0x911B; + public const ulong TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; + public const int TIMESTAMP = 0x8E28; + public const int TIME_ELAPSED = 0x88BF; + public const int TIME_ELAPSED_EXT = 0x88BF; + public const int TOP_LEVEL_ARRAY_SIZE = 0x930C; + public const int TOP_LEVEL_ARRAY_STRIDE = 0x930D; + public const int TRACK_MATRIX_NV = 0x8648; + public const int TRACK_MATRIX_TRANSFORM_NV = 0x8649; + public const int TRANSFORM_FEEDBACK = 0x8E22; + public const int TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; + public const int TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; + public const int TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; + public const int TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; + public const int TRANSFORM_FEEDBACK_BINDING = 0x8E25; + public const int TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; + public const int TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; + public const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; + public const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; + public const int TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; + public const int TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; + public const int TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; + public const int TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; + public const int TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; + public const int TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; + public const int TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; + public const int TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; + public const int TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; + public const int TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; + public const int TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; + public const int TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; + public const int TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; + public const int TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; + public const int TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; + public const int TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; + public const int TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; + public const int TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; + public const int TRANSFORM_FEEDBACK_NV = 0x8E22; + public const int TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC; + public const int TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; + public const int TRANSFORM_FEEDBACK_PAUSED = 0x8E23; + public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; + public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; + public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; + public const int TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; + public const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED; + public const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; + public const int TRANSFORM_FEEDBACK_VARYING = 0x92F4; + public const int TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; + public const int TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; + public const int TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; + public const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; + public const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; + public const int TRANSFORM_HINT_APPLE = 0x85B1; + public const int TRANSLATE_2D_NV = 0x9090; + public const int TRANSLATE_3D_NV = 0x9091; + public const int TRANSLATE_X_NV = 0x908E; + public const int TRANSLATE_Y_NV = 0x908F; + public const int TRANSPOSE_AFFINE_2D_NV = 0x9096; + public const int TRANSPOSE_AFFINE_3D_NV = 0x9098; + public const int TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; + public const int TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; + public const int TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; + public const int TRANSPOSE_NV = 0x862C; + public const int TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; + public const int TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; + public const int TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; + public const int TRIANGLES = 0x0004; + public const int TRIANGLES_ADJACENCY = 0x000C; + public const int TRIANGLES_ADJACENCY_ARB = 0x000C; + public const int TRIANGLES_ADJACENCY_EXT = 0x000C; + public const int TRIANGLE_FAN = 0x0006; + public const int TRIANGLE_LIST_SUN = 0x81D7; + public const int TRIANGLE_MESH_SUN = 0x8615; + public const int TRIANGLE_STRIP = 0x0005; + public const int TRIANGLE_STRIP_ADJACENCY = 0x000D; + public const int TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; + public const int TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; + public const int TRIANGULAR_NV = 0x90A5; + public const int TRUE = 1; + public const int TYPE = 0x92FA; + public const int UNCORRELATED_NV = 0x9282; + public const int UNDEFINED_APPLE = 0x8A1C; + public const int UNDEFINED_VERTEX = 0x8260; + public const int UNIFORM = 0x92E1; + public const int UNIFORM_ADDRESS_COMMAND_NV = 0x000A; + public const int UNIFORM_ARRAY_STRIDE = 0x8A3C; + public const int UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; + public const int UNIFORM_BARRIER_BIT = 0x00000004; + public const int UNIFORM_BARRIER_BIT_EXT = 0x00000004; + public const int UNIFORM_BLOCK = 0x92E2; + public const int UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; + public const int UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; + public const int UNIFORM_BLOCK_BINDING = 0x8A3F; + public const int UNIFORM_BLOCK_DATA_SIZE = 0x8A40; + public const int UNIFORM_BLOCK_INDEX = 0x8A3A; + public const int UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; + public const int UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; + public const int UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; + public const int UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; + public const int UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; + public const int UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; + public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; + public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; + public const int UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; + public const int UNIFORM_BUFFER = 0x8A11; + public const int UNIFORM_BUFFER_ADDRESS_NV = 0x936F; + public const int UNIFORM_BUFFER_BINDING = 0x8A28; + public const int UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; + public const int UNIFORM_BUFFER_EXT = 0x8DEE; + public const int UNIFORM_BUFFER_LENGTH_NV = 0x9370; + public const int UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; + public const int UNIFORM_BUFFER_SIZE = 0x8A2A; + public const int UNIFORM_BUFFER_START = 0x8A29; + public const int UNIFORM_BUFFER_UNIFIED_NV = 0x936E; + public const int UNIFORM_IS_ROW_MAJOR = 0x8A3E; + public const int UNIFORM_MATRIX_STRIDE = 0x8A3D; + public const int UNIFORM_NAME_LENGTH = 0x8A39; + public const int UNIFORM_OFFSET = 0x8A3B; + public const int UNIFORM_SIZE = 0x8A38; + public const int UNIFORM_TYPE = 0x8A37; + public const int UNKNOWN_CONTEXT_RESET = 0x8255; + public const int UNKNOWN_CONTEXT_RESET_ARB = 0x8255; + public const int UNPACK_ALIGNMENT = 0x0CF5; + public const int UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; + public const int UNPACK_CMYK_HINT_EXT = 0x800F; + public const int UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; + public const int UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; + public const int UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; + public const int UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; + public const int UNPACK_CONSTANT_DATA_SUNX = 0x81D5; + public const int UNPACK_IMAGE_DEPTH_SGIS = 0x8133; + public const int UNPACK_IMAGE_HEIGHT = 0x806E; + public const int UNPACK_IMAGE_HEIGHT_EXT = 0x806E; + public const int UNPACK_LSB_FIRST = 0x0CF1; + public const int UNPACK_RESAMPLE_OML = 0x8985; + public const int UNPACK_RESAMPLE_SGIX = 0x842F; + public const int UNPACK_ROW_BYTES_APPLE = 0x8A16; + public const int UNPACK_ROW_LENGTH = 0x0CF2; + public const int UNPACK_SKIP_IMAGES = 0x806D; + public const int UNPACK_SKIP_IMAGES_EXT = 0x806D; + public const int UNPACK_SKIP_PIXELS = 0x0CF4; + public const int UNPACK_SKIP_ROWS = 0x0CF3; + public const int UNPACK_SKIP_VOLUMES_SGIS = 0x8132; + public const int UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; + public const int UNPACK_SWAP_BYTES = 0x0CF0; + public const int UNSIGNALED = 0x9118; + public const int UNSIGNED_BYTE = 0x1401; + public const int UNSIGNED_BYTE_2_3_3_REV = 0x8362; + public const int UNSIGNED_BYTE_3_3_2 = 0x8032; + public const int UNSIGNED_BYTE_3_3_2_EXT = 0x8032; + public const int UNSIGNED_IDENTITY_NV = 0x8536; + public const int UNSIGNED_INT = 0x1405; + public const int UNSIGNED_INT16_NV = 0x8FF0; + public const int UNSIGNED_INT16_VEC2_NV = 0x8FF1; + public const int UNSIGNED_INT16_VEC3_NV = 0x8FF2; + public const int UNSIGNED_INT16_VEC4_NV = 0x8FF3; + public const int UNSIGNED_INT64_AMD = 0x8BC2; + public const int UNSIGNED_INT64_ARB = 0x140F; + public const int UNSIGNED_INT64_NV = 0x140F; + public const int UNSIGNED_INT64_VEC2_ARB = 0x8FF5; + public const int UNSIGNED_INT64_VEC2_NV = 0x8FF5; + public const int UNSIGNED_INT64_VEC3_ARB = 0x8FF6; + public const int UNSIGNED_INT64_VEC3_NV = 0x8FF6; + public const int UNSIGNED_INT64_VEC4_ARB = 0x8FF7; + public const int UNSIGNED_INT64_VEC4_NV = 0x8FF7; + public const int UNSIGNED_INT8_NV = 0x8FEC; + public const int UNSIGNED_INT8_VEC2_NV = 0x8FED; + public const int UNSIGNED_INT8_VEC3_NV = 0x8FEE; + public const int UNSIGNED_INT8_VEC4_NV = 0x8FEF; + public const int UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; + public const int UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; + public const int UNSIGNED_INT_10_10_10_2 = 0x8036; + public const int UNSIGNED_INT_10_10_10_2_EXT = 0x8036; + public const int UNSIGNED_INT_24_8 = 0x84FA; + public const int UNSIGNED_INT_24_8_EXT = 0x84FA; + public const int UNSIGNED_INT_24_8_NV = 0x84FA; + public const int UNSIGNED_INT_2_10_10_10_REV = 0x8368; + public const int UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; + public const int UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; + public const int UNSIGNED_INT_8_8_8_8 = 0x8035; + public const int UNSIGNED_INT_8_8_8_8_EXT = 0x8035; + public const int UNSIGNED_INT_8_8_8_8_REV = 0x8367; + public const int UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; + public const int UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; + public const int UNSIGNED_INT_IMAGE_1D = 0x9062; + public const int UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; + public const int UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; + public const int UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; + public const int UNSIGNED_INT_IMAGE_2D = 0x9063; + public const int UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; + public const int UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; + public const int UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; + public const int UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; + public const int UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; + public const int UNSIGNED_INT_IMAGE_3D = 0x9064; + public const int UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; + public const int UNSIGNED_INT_IMAGE_BUFFER = 0x9067; + public const int UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; + public const int UNSIGNED_INT_IMAGE_CUBE = 0x9066; + public const int UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; + public const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; + public const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; + public const int UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; + public const int UNSIGNED_INT_SAMPLER_1D = 0x8DD1; + public const int UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; + public const int UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; + public const int UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; + public const int UNSIGNED_INT_SAMPLER_2D = 0x8DD2; + public const int UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; + public const int UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; + public const int UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; + public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; + public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; + public const int UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; + public const int UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; + public const int UNSIGNED_INT_SAMPLER_3D = 0x8DD3; + public const int UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; + public const int UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; + public const int UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; + public const int UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; + public const int UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; + public const int UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; + public const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; + public const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; + public const int UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; + public const int UNSIGNED_INT_VEC2 = 0x8DC6; + public const int UNSIGNED_INT_VEC2_EXT = 0x8DC6; + public const int UNSIGNED_INT_VEC3 = 0x8DC7; + public const int UNSIGNED_INT_VEC3_EXT = 0x8DC7; + public const int UNSIGNED_INT_VEC4 = 0x8DC8; + public const int UNSIGNED_INT_VEC4_EXT = 0x8DC8; + public const int UNSIGNED_INVERT_NV = 0x8537; + public const int UNSIGNED_NORMALIZED = 0x8C17; + public const int UNSIGNED_NORMALIZED_ARB = 0x8C17; + public const int UNSIGNED_SHORT = 0x1403; + public const int UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; + public const int UNSIGNED_SHORT_4_4_4_4 = 0x8033; + public const int UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; + public const int UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; + public const int UNSIGNED_SHORT_5_5_5_1 = 0x8034; + public const int UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; + public const int UNSIGNED_SHORT_5_6_5 = 0x8363; + public const int UNSIGNED_SHORT_5_6_5_REV = 0x8364; + public const int UNSIGNED_SHORT_8_8_APPLE = 0x85BA; + public const int UNSIGNED_SHORT_8_8_MESA = 0x85BA; + public const int UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; + public const int UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; + public const int UPLOAD_GPU_MASK_NVX = 0x954A; + public const int UPPER_LEFT = 0x8CA2; + public const int USE_MISSING_GLYPH_NV = 0x90AA; + public const int UTF16_NV = 0x909B; + public const int UTF8_NV = 0x909A; + public const int UUID_SIZE_EXT = 16; + public const int VALIDATE_STATUS = 0x8B83; + public const int VARIABLE_A_NV = 0x8523; + public const int VARIABLE_B_NV = 0x8524; + public const int VARIABLE_C_NV = 0x8525; + public const int VARIABLE_D_NV = 0x8526; + public const int VARIABLE_E_NV = 0x8527; + public const int VARIABLE_F_NV = 0x8528; + public const int VARIABLE_G_NV = 0x8529; + public const int VARIANT_ARRAY_EXT = 0x87E8; + public const int VARIANT_ARRAY_POINTER_EXT = 0x87E9; + public const int VARIANT_ARRAY_STRIDE_EXT = 0x87E6; + public const int VARIANT_ARRAY_TYPE_EXT = 0x87E7; + public const int VARIANT_DATATYPE_EXT = 0x87E5; + public const int VARIANT_EXT = 0x87C1; + public const int VARIANT_VALUE_EXT = 0x87E4; + public const int VBO_FREE_MEMORY_ATI = 0x87FB; + public const int VECTOR_EXT = 0x87BF; + public const int VENDOR = 0x1F00; + public const int VERSION = 0x1F02; + public const int VERTEX23_BIT_PGI = 0x00000004; + public const int VERTEX4_BIT_PGI = 0x00000008; + public const int VERTEX_ARRAY = 0x8074; + public const int VERTEX_ARRAY_ADDRESS_NV = 0x8F21; + public const int VERTEX_ARRAY_BINDING = 0x85B5; + public const int VERTEX_ARRAY_BINDING_APPLE = 0x85B5; + public const int VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; + public const int VERTEX_ARRAY_COUNT_EXT = 0x807D; + public const int VERTEX_ARRAY_EXT = 0x8074; + public const int VERTEX_ARRAY_LENGTH_NV = 0x8F2B; + public const int VERTEX_ARRAY_LIST_IBM = 103070; + public const int VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; + public const int VERTEX_ARRAY_OBJECT_AMD = 0x9154; + public const int VERTEX_ARRAY_OBJECT_EXT = 0x9154; + public const int VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; + public const int VERTEX_ARRAY_POINTER_EXT = 0x808E; + public const int VERTEX_ARRAY_RANGE_APPLE = 0x851D; + public const int VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; + public const int VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; + public const int VERTEX_ARRAY_RANGE_NV = 0x851D; + public const int VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; + public const int VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; + public const int VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; + public const int VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; + public const int VERTEX_ARRAY_SIZE_EXT = 0x807A; + public const int VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; + public const int VERTEX_ARRAY_STRIDE_EXT = 0x807C; + public const int VERTEX_ARRAY_TYPE_EXT = 0x807B; + public const int VERTEX_ATTRIB_ARRAY0_NV = 0x8650; + public const int VERTEX_ATTRIB_ARRAY10_NV = 0x865A; + public const int VERTEX_ATTRIB_ARRAY11_NV = 0x865B; + public const int VERTEX_ATTRIB_ARRAY12_NV = 0x865C; + public const int VERTEX_ATTRIB_ARRAY13_NV = 0x865D; + public const int VERTEX_ATTRIB_ARRAY14_NV = 0x865E; + public const int VERTEX_ATTRIB_ARRAY15_NV = 0x865F; + public const int VERTEX_ATTRIB_ARRAY1_NV = 0x8651; + public const int VERTEX_ATTRIB_ARRAY2_NV = 0x8652; + public const int VERTEX_ATTRIB_ARRAY3_NV = 0x8653; + public const int VERTEX_ATTRIB_ARRAY4_NV = 0x8654; + public const int VERTEX_ATTRIB_ARRAY5_NV = 0x8655; + public const int VERTEX_ATTRIB_ARRAY6_NV = 0x8656; + public const int VERTEX_ATTRIB_ARRAY7_NV = 0x8657; + public const int VERTEX_ATTRIB_ARRAY8_NV = 0x8658; + public const int VERTEX_ATTRIB_ARRAY9_NV = 0x8659; + public const int VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; + public const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; + public const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; + public const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; + public const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; + public const int VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; + public const int VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; + public const int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; + public const int VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; + public const int VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; + public const int VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; + public const int VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; + public const int VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; + public const int VERTEX_ATTRIB_ARRAY_LONG = 0x874E; + public const int VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; + public const int VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; + public const int VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; + public const int VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; + public const int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; + public const int VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; + public const int VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; + public const int VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; + public const int VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; + public const int VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; + public const int VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; + public const int VERTEX_ATTRIB_BINDING = 0x82D4; + public const int VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; + public const int VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; + public const int VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; + public const int VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; + public const int VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; + public const int VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; + public const int VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; + public const int VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; + public const int VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; + public const int VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; + public const int VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; + public const int VERTEX_BINDING_BUFFER = 0x8F4F; + public const int VERTEX_BINDING_DIVISOR = 0x82D6; + public const int VERTEX_BINDING_OFFSET = 0x82D7; + public const int VERTEX_BINDING_STRIDE = 0x82D8; + public const int VERTEX_BLEND_ARB = 0x86A7; + public const int VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; + public const int VERTEX_DATA_HINT_PGI = 0x1A22A; + public const int VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; + public const int VERTEX_ID_NV = 0x8C7B; + public const int VERTEX_ID_SWIZZLE_AMD = 0x91A5; + public const int VERTEX_PRECLIP_HINT_SGIX = 0x83EF; + public const int VERTEX_PRECLIP_SGIX = 0x83EE; + public const int VERTEX_PROGRAM_ARB = 0x8620; + public const int VERTEX_PROGRAM_BINDING_NV = 0x864A; + public const int VERTEX_PROGRAM_NV = 0x8620; + public const int VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; + public const int VERTEX_PROGRAM_POINT_SIZE = 0x8642; + public const int VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; + public const int VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; + public const int VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; + public const int VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; + public const int VERTEX_SHADER = 0x8B31; + public const int VERTEX_SHADER_ARB = 0x8B31; + public const int VERTEX_SHADER_BINDING_EXT = 0x8781; + public const int VERTEX_SHADER_BIT = 0x00000001; + public const int VERTEX_SHADER_EXT = 0x8780; + public const int VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; + public const int VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; + public const int VERTEX_SHADER_INVOCATIONS = 0x82F0; + public const int VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; + public const int VERTEX_SHADER_LOCALS_EXT = 0x87D3; + public const int VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; + public const int VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; + public const int VERTEX_SHADER_VARIANTS_EXT = 0x87D0; + public const int VERTEX_SOURCE_ATI = 0x8774; + public const int VERTEX_STATE_PROGRAM_NV = 0x8621; + public const int VERTEX_STREAM0_ATI = 0x876C; + public const int VERTEX_STREAM1_ATI = 0x876D; + public const int VERTEX_STREAM2_ATI = 0x876E; + public const int VERTEX_STREAM3_ATI = 0x876F; + public const int VERTEX_STREAM4_ATI = 0x8770; + public const int VERTEX_STREAM5_ATI = 0x8771; + public const int VERTEX_STREAM6_ATI = 0x8772; + public const int VERTEX_STREAM7_ATI = 0x8773; + public const int VERTEX_SUBROUTINE = 0x92E8; + public const int VERTEX_SUBROUTINE_UNIFORM = 0x92EE; + public const int VERTEX_TEXTURE = 0x829B; + public const int VERTEX_WEIGHTING_EXT = 0x8509; + public const int VERTEX_WEIGHT_ARRAY_EXT = 0x850C; + public const int VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; + public const int VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; + public const int VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; + public const int VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; + public const int VERTICAL_LINE_TO_NV = 0x08; + public const int VERTICES_SUBMITTED = 0x82EE; + public const int VERTICES_SUBMITTED_ARB = 0x82EE; + public const int VIBRANCE_BIAS_NV = 0x8719; + public const int VIBRANCE_SCALE_NV = 0x8713; + public const int VIDEO_BUFFER_BINDING_NV = 0x9021; + public const int VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; + public const int VIDEO_BUFFER_NV = 0x9020; + public const int VIDEO_BUFFER_PITCH_NV = 0x9028; + public const int VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; + public const int VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; + public const int VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; + public const int VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; + public const int VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; + public const int VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; + public const int VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; + public const int VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; + public const int VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; + public const int VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; + public const int VIEWPORT = 0x0BA2; + public const int VIEWPORT_BOUNDS_RANGE = 0x825D; + public const int VIEWPORT_COMMAND_NV = 0x0010; + public const int VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; + public const int VIEWPORT_POSITION_W_SCALE_NV = 0x937C; + public const int VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; + public const int VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; + public const int VIEWPORT_SUBPIXEL_BITS = 0x825C; + public const int VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; + public const int VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; + public const int VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; + public const int VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; + public const int VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; + public const int VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; + public const int VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; + public const int VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; + public const int VIEWPORT_SWIZZLE_W_NV = 0x935B; + public const int VIEWPORT_SWIZZLE_X_NV = 0x9358; + public const int VIEWPORT_SWIZZLE_Y_NV = 0x9359; + public const int VIEWPORT_SWIZZLE_Z_NV = 0x935A; + public const int VIEW_CLASS_128_BITS = 0x82C4; + public const int VIEW_CLASS_16_BITS = 0x82CA; + public const int VIEW_CLASS_24_BITS = 0x82C9; + public const int VIEW_CLASS_32_BITS = 0x82C8; + public const int VIEW_CLASS_48_BITS = 0x82C7; + public const int VIEW_CLASS_64_BITS = 0x82C6; + public const int VIEW_CLASS_8_BITS = 0x82CB; + public const int VIEW_CLASS_96_BITS = 0x82C5; + public const int VIEW_CLASS_ASTC_10x10_RGBA = 0x9393; + public const int VIEW_CLASS_ASTC_10x5_RGBA = 0x9390; + public const int VIEW_CLASS_ASTC_10x6_RGBA = 0x9391; + public const int VIEW_CLASS_ASTC_10x8_RGBA = 0x9392; + public const int VIEW_CLASS_ASTC_12x10_RGBA = 0x9394; + public const int VIEW_CLASS_ASTC_12x12_RGBA = 0x9395; + public const int VIEW_CLASS_ASTC_4x4_RGBA = 0x9388; + public const int VIEW_CLASS_ASTC_5x4_RGBA = 0x9389; + public const int VIEW_CLASS_ASTC_5x5_RGBA = 0x938A; + public const int VIEW_CLASS_ASTC_6x5_RGBA = 0x938B; + public const int VIEW_CLASS_ASTC_6x6_RGBA = 0x938C; + public const int VIEW_CLASS_ASTC_8x5_RGBA = 0x938D; + public const int VIEW_CLASS_ASTC_8x6_RGBA = 0x938E; + public const int VIEW_CLASS_ASTC_8x8_RGBA = 0x938F; + public const int VIEW_CLASS_BPTC_FLOAT = 0x82D3; + public const int VIEW_CLASS_BPTC_UNORM = 0x82D2; + public const int VIEW_CLASS_EAC_R11 = 0x9383; + public const int VIEW_CLASS_EAC_RG11 = 0x9384; + public const int VIEW_CLASS_ETC2_EAC_RGBA = 0x9387; + public const int VIEW_CLASS_ETC2_RGB = 0x9385; + public const int VIEW_CLASS_ETC2_RGBA = 0x9386; + public const int VIEW_CLASS_RGTC1_RED = 0x82D0; + public const int VIEW_CLASS_RGTC2_RG = 0x82D1; + public const int VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; + public const int VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; + public const int VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; + public const int VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; + public const int VIEW_COMPATIBILITY_CLASS = 0x82B6; + public const int VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; + public const int VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; + public const int VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; + public const int VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; + public const int VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; + public const int VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; + public const int VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; + public const int VIVIDLIGHT_NV = 0x92A6; + public const int VOLATILE_APPLE = 0x8A1A; + public const int WAIT_FAILED = 0x911D; + public const int WARPS_PER_SM_NV = 0x933A; + public const int WARP_SIZE_NV = 0x9339; + public const int WEIGHTED_AVERAGE_ARB = 0x9367; + public const int WEIGHTED_AVERAGE_EXT = 0x9367; + public const int WEIGHT_ARRAY_ARB = 0x86AD; + public const int WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; + public const int WEIGHT_ARRAY_POINTER_ARB = 0x86AC; + public const int WEIGHT_ARRAY_SIZE_ARB = 0x86AB; + public const int WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; + public const int WEIGHT_ARRAY_TYPE_ARB = 0x86A9; + public const int WEIGHT_SUM_UNITY_ARB = 0x86A6; + public const int WIDE_LINE_HINT_PGI = 0x1A222; + public const int WINDOW_RECTANGLE_EXT = 0x8F12; + public const int WINDOW_RECTANGLE_MODE_EXT = 0x8F13; + public const int WRAP_BORDER_SUN = 0x81D4; + public const int WRITE_DISCARD_NV = 0x88BE; + public const int WRITE_ONLY = 0x88B9; + public const int WRITE_ONLY_ARB = 0x88B9; + public const int WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; + public const int WRITE_PIXEL_DATA_RANGE_NV = 0x8878; + public const int WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; + public const int W_EXT = 0x87D8; + public const int XOR = 0x1506; + public const int XOR_NV = 0x1506; + public const int X_EXT = 0x87D5; + public const int YCBAYCR8A_4224_NV = 0x9032; + public const int YCBCR_422_APPLE = 0x85B9; + public const int YCBCR_MESA = 0x8757; + public const int YCBYCR8_422_NV = 0x9031; + public const int YCRCBA_SGIX = 0x8319; + public const int YCRCB_422_SGIX = 0x81BB; + public const int YCRCB_444_SGIX = 0x81BC; + public const int YCRCB_SGIX = 0x8318; + public const int Y_EXT = 0x87D6; + public const int Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; + public const int Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; + public const int Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; + public const int Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; + public const int Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; + public const int ZERO = 0; + public const int ZERO_EXT = 0x87DD; + public const int ZERO_TO_ONE = 0x935F; + public const int Z_EXT = 0x87D7; @@ -4846,6 +4847,24 @@ namespace StgSharp.Graphics } + public static class glAttachment + { + private static int colorRange = + glFunc.GetMaskInteger((uint)GLconst.MAX_COLOR_ATTACHMENTS); + public static uint Color(int i) + { +#if DEBUG + if (i>colorRange||i<0) + { + throw new ArgumentOutOfRangeException(); + } +#endif + return (uint)(GLconst.COLOR_ATTACHMENT0 + i); + } + public const uint Depth = GLconst.DEPTH_ATTACHMENT; + public const uint Stencil = GLconst.STENCIL_ATTACHMENT; + public const uint DepthAndStencil = GLconst.DEPTH_STENCIL_ATTACHMENT; + } } diff --git a/源代码/StgSharp/Graphics/Define/glEnum.cs b/源代码/StgSharp/Graphics/Define/glEnum.cs index 4edcf4f5..f4005866 100644 --- a/源代码/StgSharp/Graphics/Define/glEnum.cs +++ b/源代码/StgSharp/Graphics/Define/glEnum.cs @@ -30,8 +30,32 @@ //----------------------------------------------------------------------- -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { + public enum ImageChannelLayout + { + UByte = GLconst.UNSIGNED_BYTE, + Byte = GLconst.BYTE, + UShort = GLconst.UNSIGNED_SHORT, + Short = GLconst.SHORT, + UInt = GLconst.UNSIGNED_INT, + Int = GLconst.INT, + Float = GLconst.FLOAT, + UByte332 = 0x8032, // GL_UNSIGNED_BYTE_3_3_2 + UByte233Rev = 0x8362, // GL_UNSIGNED_BYTE_2_3_3_REV + UShort565 = 0x8363, // GL_UNSIGNED_SHORT_5_6_5 + UShort565Rev = 0x8364, // GL_UNSIGNED_SHORT_5_6_5_REV + UShort4444 = 0x8033, // GL_UNSIGNED_SHORT_4_4_4_4 + UShort4444Rev = 0x8034, // GL_UNSIGNED_SHORT_4_4_4_4_REV + UShort5551 = 0x8035, // GL_UNSIGNED_SHORT_5_5_5_1 + UShort1555Rev = 0x8366, // GL_UNSIGNED_SHORT_1_5_5_5_REV + UInt8888 = 0x8035, // GL_UNSIGNED_INT_8_8_8_8 + UInt8888Rev = 0x8367, // GL_UNSIGNED_INT_8_8_8_8_REV + UInt1010102 = 0x8036, // GL_UNSIGNED_INT_10_10_10_2 + UInt2101010Rev = 0x8368 // GL_UNSIGNED_INT_2_10_10_10_REV + } + + internal enum VkStructureType : uint { VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, @@ -43,6 +67,44 @@ namespace StgSharp.Graphics VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF } + public enum FrameBufferChannel + { + STENCIL_INDEX = GLconst.STENCIL_INDEX, + DEPTH_COMPONENT = GLconst.DEPTH_COMPONENT, + DEPTH_STENCIL = GLconst.DEPTH_STENCIL, + RED = GLconst.RED, + GREEN = GLconst.GREEN, + BLUE = GLconst.BLUE, + RGB = GLconst.RGB, + BGR = GLconst.BGR, + RGBA = GLconst.RGBA, + BGRA = GLconst.BGRA + } + + + public enum Texture2DTarget + { + Texture2D = GLconst.TEXTURE_2D, + ProxyTexture2D = GLconst.PROXY_TEXTURE_2D, + Texture1DArray = GLconst.TEXTURE_1D_ARRAY, + ProxyTexture1DArray = GLconst.PROXY_TEXTURE_1D_ARRAY, + TextureRectangle = GLconst.TEXTURE_RECTANGLE, + ProxyTextureRectangle = GLconst.PROXY_TEXTURE_RECTANGLE, + TextureCubeMapPositiveX = GLconst.TEXTURE_CUBE_MAP_POSITIVE_X, + TextureCubeMapNegativeX = GLconst.TEXTURE_CUBE_MAP_NEGATIVE_X, + TextureCubeMapPositiveY = GLconst.TEXTURE_CUBE_MAP_POSITIVE_Y, + TextureCubeMapNegativeY = GLconst.TEXTURE_CUBE_MAP_NEGATIVE_Y, + TextureCubeMapPositiveZ = GLconst.TEXTURE_CUBE_MAP_POSITIVE_Z, + TextureCubeMapNegativeZ = GLconst.TEXTURE_CUBE_MAP_NEGATIVE_Z, + ProxyTextureCubeMap = GLconst.PROXY_TEXTURE_CUBE_MAP + } + + public enum RenderBufferInternalFormat : uint + { + RGBA8 = GLconst.RGBA8, + Depth24_Stencil8 = GLconst.DEPTH24_STENCIL8, + } + public enum GLOperation : uint { StencilTest = GLconst.STENCIL_TEST, @@ -76,17 +138,23 @@ namespace StgSharp.Graphics VK_RESULT_MAX_ENUM = 0x7FFFFFFF } +#pragma warning disable CA1008 public enum ShaderType : int +#pragma warning restore CA1008 { - Fragment = 0x8B30, - Vertex = 0x8B31, + Fragment = GLconst.FRAGMENT_SHADER, + Vertex = GLconst.VERTEX_SHADER, + Compute = GLconst.COMPUTE_SHADER, + Geometry = GLconst.GEOMETRY_SHADER, } - public enum BufferType : uint +#pragma warning disable CA1008 // 枚举应具有零值 + public enum BufferType : int +#pragma warning restore CA1008 // 枚举应具有零值 { - ARRAY_BUFFER = 0x8892, - ELEMENT_ARRAY_BUFFER = 0x8893, - ATOMIC_COUNTER_BUFFER = GLconst.ATOMIC_COUNTER_BUFFER, + ArrayBuffer = GLconst.ARRAY_BUFFER, + ElementArrayBuffer = GLconst.ELEMENT_ARRAY_BUFFER, + AtomicCounterBuffer = GLconst.ATOMIC_COUNTER_BUFFER, COPY_READ_BUFFER = GLconst.COPY_READ_BUFFER, COPY_WRITE_BUFFER = GLconst.COPY_WRITE_BUFFER, DISPATCH_INDIRECT_BUFFER = GLconst.DISPATCH_INDIRECT_BUFFER, @@ -100,19 +168,22 @@ namespace StgSharp.Graphics UNIFORM_BUFFER = GLconst.UNIFORM_BUFFER, } +#pragma warning disable CA1008 // 枚举应具有零值 public enum BufferUsage : int +#pragma warning restore CA1008 // 枚举应具有零值 { - STREAM_DRAW = 0x88E0, - STREAM_READ = 0x88E1, - STREAM_COPY = 0x88E2, - STATIC_DRAW = 0x88E4, - STATIC_READ = 0x88E5, - STATIC_COPY = 0x88E6, - DYNAMIC_DRAW = 0x88E8, - DYNAMIC_READ = 0x88E9, - DYNAMIC_COPY = 0x88EA + StreamDraw = 0x88E0, + StreamRead = 0x88E1, + StreamCopy = 0x88E2, + StaticDraw = 0x88E4, + StaticRead = 0x88E5, + StaticCopy = 0x88E6, + DynamicDraw = 0x88E8, + DynamicRead = 0x88E9, + DynamicCopy = 0x88EA } + public enum MaskBufferBit { COLOR = GLconst.COLOR_BUFFER_BIT, diff --git a/源代码/StgSharp/Graphics/Form/Form.cs b/源代码/StgSharp/Graphics/Form/Form.cs index d2e6e842..acdf0584 100644 --- a/源代码/StgSharp/Graphics/Form/Form.cs +++ b/源代码/StgSharp/Graphics/Form/Form.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- -// file="Form.cs" +// file="ViewModel.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. @@ -46,7 +46,7 @@ namespace StgSharp.Graphics /// /// /// - public abstract unsafe partial class Form + public abstract unsafe partial class ViewModel { private int _frameCount; @@ -54,20 +54,18 @@ namespace StgSharp.Graphics private IntPtr windowID; - private short fpsCount; - internal Form sharedForm; + internal ViewModel sharedForm; internal int height; internal int width; internal IntPtr monitor; - internal LinkedList allControl; internal string name; internal TimeSpanProvider fpsCountProvider; internal TimeSpanProvider frameTimeProvider; internal Vector4 backgroundColor; - protected Form((int width, int height) size, string name) + protected ViewModel((int width, int height) size, string name) { fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); _frameSpeed = 0; @@ -92,7 +90,7 @@ namespace StgSharp.Graphics this.name = name; } - public Form() + protected ViewModel() { fpsCountProvider = new TimeSpanProvider(1.0, TimeSpanProvider.DefaultProvider); _frameSpeed = 0; @@ -102,8 +100,6 @@ namespace StgSharp.Graphics { Interlocked.Exchange(ref _frameSpeed, _frameCount); Interlocked.Exchange(ref _frameCount, 0); - Console.Clear(); - Console.WriteLine(_frameSpeed); }; frameTimeProvider = new TimeSpanProvider( (1000L * 1000L) / 60, TimeSpanProvider.DefaultProvider @@ -218,7 +214,7 @@ namespace StgSharp.Graphics /// /// Set all necessary metadata to current form instance /// - public void SetMetadata(int width, int height, string name, IntPtr monitor, Form sharedForm) + public void SetMetadata(int width, int height, string name, IntPtr monitor, ViewModel sharedForm) { this.width = width; this.height = height; diff --git a/源代码/StgSharp/Graphics/Form/FormThreading.cs b/源代码/StgSharp/Graphics/Form/FormThreading.cs index f4ef59e2..4823c6c8 100644 --- a/源代码/StgSharp/Graphics/Form/FormThreading.cs +++ b/源代码/StgSharp/Graphics/Form/FormThreading.cs @@ -41,7 +41,7 @@ using System.Threading.Tasks; namespace StgSharp.Graphics { - public abstract partial class Form + public abstract partial class ViewModel { private Blueprint renderLogic; @@ -64,6 +64,40 @@ namespace StgSharp.Graphics } } + + public T BuildMainRenderStream((int x, int y, int z) unitCubeSize) where T : RenderStream + { + RenderStreamConstructArgs args = new RenderStreamConstructArgs(); + args.UnitCubeSize = unitCubeSize; + args.Name = this.name; + args.Height = this.Height; + args.Width = this.Width; + T? ret = Activator.CreateInstance(typeof(T), args) as T; + if (ret == null) + { + throw new InvalidOperationException("Failed in building a new RenderStream when calling AsMainStreamOf"); + } + ret!.InternalInit(); + this.WindowID = ret.CanvasHandle; + ret.timeProvider = this.frameTimeProvider; + return ret; + } + + public T BuildNewRenderStream(RenderStreamConstructArgs arg, (int x, int y, int z) unitCubeSize) where T : RenderStream + { + T? ret = Activator.CreateInstance(typeof(T), arg) as T; + if (ret == null) + { + throw new InvalidOperationException("Failed in building a new RenderStream when calling AsMainStreamOf"); + } + ret!.InternalInit(); + this.WindowID = ret.CanvasHandle; + ret.timeProvider = this.frameTimeProvider; + return ret; + } + + + /* private void GatherSingleFrameAsyncThread(MethodInfo[] methods) { diff --git a/源代码/StgSharp/Graphics/Form/ShowForm.cs b/源代码/StgSharp/Graphics/Form/ShowForm.cs index 5c042725..cf4e788d 100644 --- a/源代码/StgSharp/Graphics/Form/ShowForm.cs +++ b/源代码/StgSharp/Graphics/Form/ShowForm.cs @@ -11,16 +11,16 @@ namespace StgSharp.Graphics } - public abstract unsafe partial class Form + public abstract unsafe partial class ViewModel { - static internal Dictionary activatedForms ; + static internal Dictionary activatedForms ; - public static void ShowForm(FormFormatter f) where T : Form + public static void ShowForm(FormFormatter f) where T : ViewModel { if (activatedForms == null) { - activatedForms = new Dictionary(); + activatedForms = new Dictionary(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs b/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs index 347d5635..ecbc4ca4 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/BufferObjectBase.cs @@ -34,14 +34,14 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { /// /// Interface of all kinds OpenGL buffer objects /// public abstract class BufferObjectBase : IDisposable { - protected IntPtr binding; + protected RenderStream binding; protected glHandleSet _bufferHandle; /// diff --git a/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs index 6e0ac94f..2b2e944b 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/EBO.cs @@ -36,7 +36,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { /// /// A collection of handle to Element Buffer Object in OpenGL. @@ -48,27 +48,34 @@ namespace StgSharp.Graphics internal ElementBuffer(int n, glRenderStream binding) { - this.binding = binding.ContextHandle; - _bufferHandle = GL.GenBuffers(n); + this.binding = binding; + _bufferHandle = glFunc.GenBuffers(n); } public override sealed void Bind(int index) { - GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); + glFunc.BindBuffer(BufferType.ElementArrayBuffer, _bufferHandle[index]); } public void SetValue(int index, T[] bufferArray, BufferUsage usage) where T : struct, IConvertible { - GL.BindBuffer(BufferType.ELEMENT_ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ELEMENT_ARRAY_BUFFER, bufferArray, usage); + glFunc.BindBuffer(BufferType.ElementArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferData(BufferType.ElementArrayBuffer, bufferArray, usage); + } + + public void SetValue(int index, ReadOnlySpan bufferSpan, BufferUsage usage) + where T : struct, IConvertible + { + glFunc.BindBuffer(BufferType.ElementArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferData(BufferType.ElementArrayBuffer, bufferSpan, usage); } protected override sealed void Dispose(bool disposing) { if (disposing) { - GL.DeleteBuffers(_bufferHandle); + glFunc.DeleteBuffers(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/FBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/FBO.cs index 89b17b86..3e5cd70f 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/FBO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/FBO.cs @@ -4,9 +4,13 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { +#pragma warning disable CA1008 +#pragma warning disable CA1028 public enum FrameBufferTarget:uint +#pragma warning restore CA1028 +#pragma warning restore CA1008 { Read = GLconst.READ_FRAMEBUFFER, All = GLconst.FRAMEBUFFER, @@ -17,9 +21,9 @@ namespace StgSharp.Graphics { internal unsafe FrameBuffer(int count, glRenderStream contextBinding) { - binding = contextBinding.ContextHandle; + binding = contextBinding; _bufferHandle = new glHandleSet(count); - ((GLcontext*)binding)->glGenFramebuffers((uint)count,_bufferHandle.handle); + ((GLcontext*)binding.ContextHandle)->glGenFramebuffers((uint)count,_bufferHandle.handle); } /// @@ -29,7 +33,12 @@ namespace StgSharp.Graphics /// Index of object to be binded in handle set public unsafe override void Bind(int index) { - ((GLcontext*)binding)->glBindFramebuffer(GLconst.FRAMEBUFFER, _bufferHandle[index].Value); + glFunc.BindFrameBuffer(FrameBufferTarget.All,_bufferHandle[index]); + } + + public static void BindNull() + { + glFunc.BindFrameBuffer(FrameBufferTarget.All,glHandle.Zero); } /// @@ -40,7 +49,7 @@ namespace StgSharp.Graphics /// Index of object to be binded in handle set public unsafe void Bind(FrameBufferTarget target, int index) { - ((GLcontext*)binding)->glBindFramebuffer((uint)target, _bufferHandle[index].Value); + ((GLcontext*)binding.ContextHandle)->glBindFramebuffer((uint)target, _bufferHandle[index].Value); } protected override void Dispose(bool disposing) diff --git a/源代码/StgSharp/Graphics/GL/Buffer/RBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/RBO.cs new file mode 100644 index 00000000..07604119 --- /dev/null +++ b/源代码/StgSharp/Graphics/GL/Buffer/RBO.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Security.Principal; +using System.Text; + + +namespace StgSharp.Graphics.GL +{ + + + + public class RenderBuffer : BufferObjectBase + { + public RenderBuffer(int count, glRenderStream binding) + { + this.binding = binding; + _bufferHandle = glFunc.GenRenderBuffer(count); + } + + public override void Bind(int index) + { + glFunc.BindRenderBuffer(this[index]); + } + + protected override void Dispose(bool disposing) + { + throw new NotImplementedException(); + } + + public void Store(RenderBufferInternalFormat format, (int width,int height) size) + { + if (size.width > binding.Width || size.height>binding.Height) + { + StgSharp.LogWarning("FrameBuffer is larger than current canvas binding"); + } + } + } +} diff --git a/源代码/StgSharp/Graphics/GL/Buffer/TextureGL.cs b/源代码/StgSharp/Graphics/GL/Buffer/TextureGL.cs new file mode 100644 index 00000000..680d99d8 --- /dev/null +++ b/源代码/StgSharp/Graphics/GL/Buffer/TextureGL.cs @@ -0,0 +1,155 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="texture.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Graphics.GL +{ + public unsafe class TextureGL + { + + internal static bool[] unitActivated = new bool[16]; + private IntPtr binding; + internal glHandleSet _textureHandle; + internal Image[] sourceList; + + public glHandle this[int index] + { + get => _textureHandle[index]; + } + + internal TextureGL(int n, glRenderStream binding) + { + sourceList = new Image[n]; + this.binding = binding.ContextHandle; + _textureHandle = glFunc.GenTextures(n); + } + + public static void Activate(TextureUnit unit) + { + glFunc.ActiveTexture((uint)unit); + } + + public void Bind2D(int index) + { + glFunc.BindTexture(GLconst.TEXTURE_2D, _textureHandle[index]); + } + + /// + /// + /// + /// + public unsafe void LoadTexture(int index, Image i) + { + sourceList[index] = i; + glArrayHandle handle = sourceList[index].GetArrayHandle(); + glFunc.TextureImage2d( + Texture2DTarget.Texture2D, 0, (uint)i.Channel, + (uint)sourceList[index].Width, (uint)sourceList[index].Height, + (uint)i.Channel, ImageChannelLayout.Byte, + pixelArrayHandle: handle + ); + handle.Release(); + } + + + #region texture setting + + public void Set2dFilterProperty( + Filter onMinify, Filter onMagnify) + { + glFunc.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MIN_FILTER, (int)onMinify); + glFunc.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_MAG_FILTER, (int)onMagnify); + } + + public void Set2dWrapProperty( + Wrap onHorizontial, Wrap onVertical) + { + glFunc.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_S, (int)onHorizontial); + glFunc.TextureParameter(GLconst.TEXTURE_2D, GLconst.TEXTURE_WRAP_T, (int)onVertical); + } + + #endregion texture setting + + + } + +#pragma warning disable CA1008 + public enum Filter +#pragma warning restore CA1008 + { + Nearest = GLconst.NEAREST, + Linear = GLconst.LINEAR, + NearestLinearMipmap = GLconst.NEAREST_MIPMAP_LINEAR, + LinearLinearMipmap = GLconst.LINEAR_MIPMAP_LINEAR, + NearestNearestMipmap = GLconst.NEAREST_MIPMAP_NEAREST, + LinearNearestMipmap = GLconst.LINEAR_MIPMAP_NEAREST, + } + +#pragma warning disable CA1008 + public enum TextureUnit +#pragma warning restore CA1008 + { + Unit0 = GLconst.TEXTURE0, + Unit1 = GLconst.TEXTURE1, + Unit2 = GLconst.TEXTURE2, + Unit3 = GLconst.TEXTURE3, + Unit4 = GLconst.TEXTURE4, + Unit5 = GLconst.TEXTURE5, + Unit6 = GLconst.TEXTURE6, + Unit7 = GLconst.TEXTURE7, + Unit8 = GLconst.TEXTURE8, + Unit9 = GLconst.TEXTURE9, + Unit10 = GLconst.TEXTURE10, + Unit11 = GLconst.TEXTURE11, + Unit12 = GLconst.TEXTURE12, + Unit13 = GLconst.TEXTURE13, + Unit14 = GLconst.TEXTURE14, + Unit15 = GLconst.TEXTURE15, + } + +#pragma warning disable CA1008 + public enum Wrap +#pragma warning restore CA1008 + { + Repeat = GLconst.REPEAT, + MirroredRepeat = GLconst.MIRRORED_REPEAT, + ClampToEdge = GLconst.CLAMP_TO_EDGE, + ClampToBorder = GLconst.CLAMP_TO_BORDER, + } +} \ No newline at end of file diff --git a/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs b/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs index ba049f6a..6af1862f 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/VAO.cs @@ -28,38 +28,40 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- + + using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public unsafe class VertexArray : BufferObjectBase { internal VertexArray(int n, glRenderStream binding) { - this.binding = binding.ContextHandle; - _bufferHandle = GL.GenVertexArrays(n); + this.binding = binding; + _bufferHandle = glFunc.GenVertexArrays(n); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public override sealed void Bind(int index) { - GL.BindVertexArray(_bufferHandle[index]); + glFunc.BindVertexArray(_bufferHandle[index]); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindNull() + public static void BindNull() { - GL.BindVertexArray(glHandle.Zero); + glFunc.BindVertexArray(glHandle.Zero); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetVertexAttribute(uint index, int vertexLength, TypeCode dataType, bool isNomalized, uint stride, int pointer) + public static void SetVertexAttribute(uint index, int vertexLength, TypeCode dataType, bool isNomalized, uint stride, int pointer) { - GL.SetVertexAttribute( + glFunc.SetVertexAttribute( index, vertexLength, dataType, isNomalized, stride, pointer); @@ -69,7 +71,7 @@ namespace StgSharp.Graphics { if (disposing) { - GL.DeleteVertexArrays(_bufferHandle); + glFunc.DeleteVertexArrays(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs b/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs index a3f362c3..27c3d774 100644 --- a/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs +++ b/源代码/StgSharp/Graphics/GL/Buffer/VBO.cs @@ -28,6 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- +using StgSharp.Graphics.GL; using StgSharp.Math; using System; @@ -38,20 +39,20 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public unsafe class VertexBuffer : BufferObjectBase { internal VertexBuffer(int n, glRenderStream binding) { - this.binding = binding.ContextHandle; - _bufferHandle = GL.GenBuffers(n); + this.binding = binding; + _bufferHandle = glFunc.GenBuffers(n); } public override sealed void Bind(int index) { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); } /// @@ -64,8 +65,8 @@ namespace StgSharp.Graphics public void WriteMatrixData(int index, T bufferData, BufferUsage usage) where T : struct, IMat { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferData, usage); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferData(BufferType.ArrayBuffer, bufferData, usage); } /// @@ -83,8 +84,8 @@ namespace StgSharp.Graphics IConvertible #endif { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ARRAY_BUFFER, bufferArray, usage); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferData(BufferType.ArrayBuffer, bufferArray, usage); } /// @@ -94,7 +95,7 @@ namespace StgSharp.Graphics /// Index to find certain VBO in this instance /// A of data to write in /// How OpenGL use these data, defined by - public void WriteScalerData(int index, Span scalerSpan, BufferUsage usage) + public void WriteScalerData(int index, ReadOnlySpan scalerSpan, BufferUsage usage) where T : struct, #if NET8_0_OR_GREATER INumber @@ -102,8 +103,8 @@ namespace StgSharp.Graphics IConvertible #endif { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferData(BufferType.ARRAY_BUFFER, scalerSpan, usage); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferData(BufferType.ArrayBuffer, scalerSpan, usage); } /// @@ -113,10 +114,10 @@ namespace StgSharp.Graphics /// Index to find certain VBO in this instance /// A of data to write in /// How OpenGL use these data, defined by - public void WriteVectorData(int index, Span vectorSpan, BufferUsage usage) where T : struct, IVector + public void WriteVectorData(int index, ReadOnlySpan vectorSpan, BufferUsage usage) where T : struct, IVector { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferVectorData(BufferType.ARRAY_BUFFER, vectorSpan, usage); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferVectorData(BufferType.ArrayBuffer, vectorSpan, usage); } /// @@ -128,8 +129,8 @@ namespace StgSharp.Graphics /// How OpenGL use these data, defined by public void WriteVectorData(int index, T[] vectorArray, BufferUsage usage) where T : struct, IVector { - GL.BindBuffer(BufferType.ARRAY_BUFFER, _bufferHandle[index]); - GL.SetBufferVectorData(BufferType.ARRAY_BUFFER, vectorArray, usage); + glFunc.BindBuffer(BufferType.ArrayBuffer, _bufferHandle[index]); + glFunc.SetBufferVectorData(BufferType.ArrayBuffer, vectorArray, usage); } /// @@ -138,14 +139,14 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Unbind() { - GL.BindBuffer(BufferType.ARRAY_BUFFER, glHandle.Zero); + glFunc.BindBuffer(BufferType.ArrayBuffer, glHandle.Zero); } protected override sealed void Dispose(bool disposing) { if (disposing) { - GL.DeleteBuffers(_bufferHandle); + glFunc.DeleteBuffers(_bufferHandle); _bufferHandle.Release(); } } diff --git a/源代码/StgSharp/Graphics/GL/GLhandle.cs b/源代码/StgSharp/Graphics/GL/GLhandle.cs index 72a656ca..449ac9f7 100644 --- a/源代码/StgSharp/Graphics/GL/GLhandle.cs +++ b/源代码/StgSharp/Graphics/GL/GLhandle.cs @@ -36,6 +36,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.AccessControl; +using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; @@ -46,7 +47,7 @@ namespace StgSharp.Graphics /// must be indexed from a . /// Direct call will cause /// - public unsafe class glHandle + public unsafe class glHandle: IDisposable { private static uint* zeroHandle = (uint*)Marshal.AllocHGlobal(Marshal.SizeOf()); @@ -93,6 +94,8 @@ namespace StgSharp.Graphics set => *valuePtr = value; } + public static glHandle ZeroHandle => FromPtr(IntPtr.Zero); + public static glHandle Zero => Alloc(0); public static glHandle Alloc(uint value) @@ -113,6 +116,30 @@ namespace StgSharp.Graphics Marshal.FreeHGlobal((IntPtr)valuePtr); } } + + protected virtual void Dispose(bool disposing) + { + if (IsIsolated) + { + GCHandle.FromIntPtr((IntPtr)valuePtr).Free(); + if (disposing) + { + } + + } + } + + // + // ~glHandle() + // { + // Dispose(disposing: false); + // } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } } public unsafe class glSHandle @@ -188,9 +215,9 @@ namespace StgSharp.Graphics public unsafe class glArrayHandle { - internal readonly Array a; internal GCHandle handle; + private bool disposedValue; internal glArrayHandle(Array array) { @@ -230,7 +257,6 @@ namespace StgSharp.Graphics handle.Free(); handle = default; } - } /// diff --git a/源代码/StgSharp/Graphics/GL/GLpack.cs b/源代码/StgSharp/Graphics/GL/GLpack.cs index 06a4763b..5cb0650d 100644 --- a/源代码/StgSharp/Graphics/GL/GLpack.cs +++ b/源代码/StgSharp/Graphics/GL/GLpack.cs @@ -43,14 +43,19 @@ namespace StgSharp { internal static unsafe partial class InternalIO { + [DllImport(SSC_libName, EntryPoint = "glCheckShaderStat", CallingConvention = CallingConvention.Cdecl)] - internal static extern int glCheckShaderStatus(ref GLcontext context, uint shaderHandle,int key, ref IntPtr logPtr); +#pragma warning disable CA5392 + internal static extern int glCheckShaderStatus(ref GLcontext context, uint shaderHandle, int key, ref IntPtr logPtr); +#pragma warning restore CA5392 + + } } -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { - internal static unsafe partial class GL + internal static unsafe partial class glFunc { private static GLcontext* context; @@ -58,15 +63,12 @@ namespace StgSharp.Graphics public static IntPtr CurrentContextHandle { get { return (IntPtr)context; } - set - { - context = (GLcontext*)value; - } + set { context = (GLcontext*)value; } } private static ref GLcontext Context { - get + get { #if DEBUG if ((IntPtr)context==IntPtr.Zero) @@ -74,7 +76,7 @@ namespace StgSharp.Graphics throw new NullReferenceException(); } #endif - return ref *context; + return ref (*context); } } @@ -96,14 +98,21 @@ namespace StgSharp.Graphics Context.glBindBuffer((uint)bufferType, handle.Value); } - public static string GetShaderStatus(Shader s, int index, int key) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static unsafe void GetTextureImage(Texture2DTarget target, int level, ImageChannel channel, ImageChannelLayout channelLayout, ref T[] dataStream)where T: struct, +#if NET8_0_OR_GREATER + INumber +#else + IConvertible +#endif + { - IntPtr sptr = IntPtr.Zero; - if (InternalIO.glCheckShaderStatus(ref Context, s.handle[index].Value, key,ref sptr) == 0) +#pragma warning disable CS8500 + fixed (T* tptr = dataStream) { - return Marshal.PtrToStringAnsi(sptr); + Context.glGetTexImage((uint)target, level, (uint)channel, (uint)channelLayout, tptr); } - return ""; +#pragma warning restore CS8500 } /// @@ -118,12 +127,30 @@ namespace StgSharp.Graphics Context.glBindFramebuffer((uint)target, handle.Value); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void BindRenderBuffer(glHandle handle) + { + Context.glBindRenderbuffer(GLconst.RENDERBUFFER, handle.Value); + } + + + public static void WaitAccomplishment() + { + Context.glFinish(); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void BindTexture(uint type, glHandle texture) { Context.glBindTexture(type, texture.Value); } + public static unsafe int GetMaskInteger(uint statusCode) + { + int ret = 0; + Context.glGetIntegerv(statusCode,&ret); + return ret; + } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void BindVertexArray(glHandle handle) @@ -131,10 +158,35 @@ namespace StgSharp.Graphics Context.glBindVertexArray(handle.Value); } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void VertexAttributeDivisor(uint layoutIndex, uint divisor) + public static void RereadImage( + this Image i, (int X, int Y) beginPosition, FrameBufferChannel format, ImageChannelLayout dataType) { - Context.glVertexAttribDivisor(layoutIndex, divisor); + glArrayHandle handle = i.GetArrayHandle(); + Context.glReadPixels( + beginPosition.X, beginPosition.Y, i.Width, i.Height, (uint)format, (uint)dataType, (byte*)handle.AddressOfArray() + ); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void FrameBufferTexture2d(FrameBufferTarget target, uint attachment, Texture2DTarget texTarget,glHandle textureHandle ,int level) + { + Context.glFramebufferTexture2D( + (uint)target, attachment, (uint)texTarget,textureHandle.Value, level + ); + } + + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void ReadPixels( + (int X, int Y) beginPosition, (int width, int height) size, FrameBufferChannel format, ImageChannelLayout dataType, ref byte[] stream + ) + { + fixed (byte* bptr = stream) + { + Context.glReadPixels( + beginPosition.X, beginPosition.Y, + size.width, size.height, (uint)format, (uint)dataType, bptr); + } } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -143,6 +195,11 @@ namespace StgSharp.Graphics Context.glClear((uint)mask); } + public static void CombineFrameBufferRenderBuffer(glHandle fboHandle, glHandle rboHandle) + { + Context.glFramebufferRenderbuffer(GLconst.FRAMEBUFFER,fboHandle.Value,GLconst.RENDERBUFFER, rboHandle.Value); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe void ClearColor(float R, float G, float B, float A) { @@ -203,31 +260,8 @@ namespace StgSharp.Graphics return ret; } - public static unsafe IntPtr CreateWindowHandle( - int width, int height, string tittle, IntPtr monitor, Form share) - { - byte[] tittleBytes = Encoding.UTF8.GetBytes(tittle); - IntPtr windowPtr; - if (share == null) - { - windowPtr = InternalIO.glfwCreateWindow( - width, height, tittleBytes, monitor, IntPtr.Zero); - } - else - { - windowPtr = InternalIO.glfwCreateWindow( - width, height, tittleBytes, monitor, share.id); - } - if (((long)windowPtr == -1) || ((long)windowPtr == -2)) - { - throw new Exception("Cannot create window instance!"); - } - else - { - return windowPtr; - } - } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe void DeleteBuffer(glHandle handle) @@ -278,7 +312,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void DrawElementsInstanced( - GeometryType mode , uint count, TypeCode type, IntPtr ptr, uint amount + GeometryType mode, uint count, TypeCode type, IntPtr ptr, uint amount ) { uint a; @@ -302,7 +336,7 @@ namespace StgSharp.Graphics LogType.Error); return; } - Context.glDrawElementsInstanced((uint)mode, count, a, (void*)ptr,amount); + Context.glDrawElementsInstanced((uint)mode, count, a, (void*)ptr, amount); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -319,6 +353,15 @@ namespace StgSharp.Graphics return h; } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static unsafe glHandleSet GenRenderBuffer(int count) + { + glHandleSet h = new glHandleSet(count); + Context.glGenRenderbuffers(count, (uint*)h.Handle); + return h; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe glHandleSet GenTextures(int count) { @@ -328,6 +371,14 @@ namespace StgSharp.Graphics } [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static unsafe void SetRenderBufferStorage(RenderBufferInternalFormat internalFormat ,(int width, int height) size) + { + Context.glRenderbufferStorage( + GLconst.RENDERBUFFER, (uint)internalFormat,size.width,size.height + ); + } + + public static unsafe glHandleSet GenVertexArrays(int count) { glHandleSet h = new glHandleSet(count); @@ -335,6 +386,16 @@ namespace StgSharp.Graphics return h; } + public static string GetShaderStatus(Shader s, int index, int key) + { + IntPtr sptr = IntPtr.Zero; + if (InternalIO.glCheckShaderStatus(ref Context, s.handle[index].Value, key, ref sptr) == 0) + { + return Marshal.PtrToStringAnsi(sptr); + } + return string.Empty; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe glSHandle GetUniformLocation(glHandle program, string name) @@ -359,17 +420,16 @@ namespace StgSharp.Graphics } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void LoadShaderSource(glHandle shaderHandle, string codeStream) + public static unsafe void LoadShaderSource(glHandle shaderHandle, byte[] codeStream) { - byte[] stream = Encoding.UTF8.GetBytes(codeStream); - fixed (byte* streamPtr = stream) + fixed (byte* streamPtr = codeStream) { Context.glShaderSource(shaderHandle.Value, 1, &streamPtr, (void*)0); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void MakeContextCurrent(Form form) + public static unsafe void MakeContextCurrent(ViewModel form) { if (form.WindowID == IntPtr.Zero) { @@ -420,6 +480,34 @@ namespace StgSharp.Graphics } } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static unsafe void SetBufferData(BufferType bufferType, ReadOnlySpan bufferArray, BufferUsage usage) + where T : struct, +#if NET8_0_OR_GREATER + INumber +#else + IConvertible +#endif + { + int size = bufferArray.Length * Marshal.SizeOf(typeof(T)); + if (bufferArray == null) + { + return; + } +#pragma warning disable CS8500 + fixed (void* bufferPtr = bufferArray) +#pragma warning restore CS8500 + { + Context.glBufferData( + (uint)bufferType, + (IntPtr)size, + (IntPtr)bufferPtr, + (uint)usage); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe void SetBufferData(BufferType bufferType, Span bufferArray, BufferUsage usage) where T : struct, @@ -449,7 +537,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetBufferVectorData(BufferType bufferType, Span bufferArray, BufferUsage usage) + public static unsafe void SetBufferVectorData(BufferType bufferType, ReadOnlySpan bufferArray, BufferUsage usage) where T : struct, IVector { int size = bufferArray.Length * Marshal.SizeOf(typeof(T)); @@ -499,10 +587,20 @@ namespace StgSharp.Graphics } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void TextureImage2d(int target, int level, uint internalformat, uint width, uint height, uint format, uint type, glHandle pixels) + public static void TextureImage2d(Texture2DTarget target, int level, uint internalformat, uint width, uint height, + uint format, ImageChannelLayout type, glHandle pixels) { Context.glTexImage2D( - (uint)target, level, internalformat, width, height, 0, format, type, pixels.valuePtr + (uint)target, level, internalformat, width, height, 0, format, (uint)type, pixels.valuePtr + ); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void TextureImage2d(Texture2DTarget target, int level, uint internalformat, uint width, uint height, + uint format, ImageChannelLayout type, glArrayHandle pixelArrayHandle) + { + Context.glTexImage2D( + (uint)target, level, internalformat, width, height, 0, format, (uint)type, (void*)pixelArrayHandle.handle.AddrOfPinnedObject() ); } @@ -518,6 +616,12 @@ namespace StgSharp.Graphics Context.glUseProgram(program.Value); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void VertexAttributeDivisor(uint layoutIndex, uint divisor) + { + Context.glVertexAttribDivisor(layoutIndex, divisor); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Viewport(int x, int y, uint width, uint height) { diff --git a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs index 68ba595e..9eab57dd 100644 --- a/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs +++ b/源代码/StgSharp/Graphics/GL/GLresourceGenrator.cs @@ -35,7 +35,7 @@ using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public partial class glRenderStream { @@ -51,15 +51,28 @@ namespace StgSharp.Graphics return new ElementBuffer(count, this); } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected RenderBuffer CreateRenderBuffer(int count) + { + return new RenderBuffer(count, this); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected FrameBuffer CreateFrameBuffer(int count) + { + return new FrameBuffer(count, this); + } + /// - /// Create a sets of + /// Create a sets of /// /// Amount of textures to be created. /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected Texture CreateTexture(int count) + protected TextureGL CreateTexture(int count) { - return new Texture(count, this); + return new TextureGL(count, this); } /// diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/IglConvertable.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/IglConvertable.cs index 77eaed11..55c678dc 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/IglConvertable.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/IglConvertable.cs @@ -1,4 +1,6 @@ -using System; +using StgSharp.Graphics.GL; + +using System; using System.Collections.Generic; using System.Linq; using System.Text; diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs index 4575c59c..234cdf71 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Shader.cs @@ -39,15 +39,15 @@ using System.Runtime.InteropServices; using System.Text; using System.Xml.Linq; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { - public partial class glRenderStream + public abstract partial class glRenderStream : RenderStream { [MethodImpl(MethodImplOptions.AggressiveInlining)] protected sealed override Shader CreateShaderSegment(ShaderType type, int count) { - return new Shader( GL.CreateShaderSet(count, type), type); + return new Shader( glFunc.CreateShaderSet(count, type), type); } /// /// Create an instance of program @@ -72,7 +72,7 @@ namespace StgSharp.Graphics internal unsafe Shader(glHandleSet handle, ShaderType usage) { this.handle = handle; - context = GL.CurrentContextHandle; + context = glFunc.CurrentContextHandle; type = usage; } @@ -84,31 +84,43 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AttachTo(int index, ShaderProgram target) { - GL.AttachShader(target.handle, handle[index]); + glFunc.AttachShader(target.handle, handle[index]); } - public static string FromCodeFile(string fileRoute) + public static byte[] FromCodeFile(string fileRoute) { string str = File.ReadAllText(fileRoute); - if (str == "") + if (string.IsNullOrEmpty(str)) { - throw new Exception($"Cannot load and GLSL code from {fileRoute}"); + throw new InvalidOperationException($"Cannot load and GLSL code from {fileRoute}"); } - return str; + return Encoding.UTF8.GetBytes(str); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public unsafe void Compile(int index, string code) + public unsafe void Compile(int index, byte[] codeStream) { - if (code == null) + if (codeStream == null) { - throw new ArgumentNullException("Must provide enough code"); + throw new ArgumentNullException(nameof(codeStream)); } - GL.LoadShaderSource(handle[index], $"{code}\0"); - GL.CompileShader(handle[index]); + glFunc.LoadShaderSource(handle[index], codeStream); + glFunc.CompileShader(handle[index]); CheckStatus(index,ShaderStatus.CompileStatus); } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public unsafe void Compile(int index, string codeStream) + { + if (codeStream == null) + { + throw new ArgumentNullException(nameof(codeStream)); + } + glFunc.LoadShaderSource(handle[index],Encoding.ASCII.GetBytes( codeStream)); + glFunc.CompileShader(handle[index]); + CheckStatus(index, ShaderStatus.CompileStatus); + } + public override string ToString() { return $"This is a {type} shader, its shader handles are {handle.ToString()}."; @@ -122,7 +134,7 @@ namespace StgSharp.Graphics public void CheckStatus(int index, ShaderStatus status) { - string log = GL.GetShaderStatus(this,index, (int)status); + string log = glFunc.GetShaderStatus(this,index, (int)status); if (log != "") { throw new Exception($"Shader Error\n{status}\n" + log); @@ -147,7 +159,6 @@ namespace StgSharp.Graphics public class ShaderProgram { - private readonly IntPtr binding; internal readonly glHandle handle; @@ -157,7 +168,7 @@ namespace StgSharp.Graphics internal unsafe ShaderProgram(glRenderStream binding) { this.binding = binding.ContextHandle; - handle = GL.CreateProgram(); + handle = glFunc.CreateProgram(); } /// @@ -242,7 +253,7 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void Use() { - GL.UseProgram(handle); + glFunc.UseProgram(handle); } ~ShaderProgram() diff --git a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs index 54a9a28c..84ae1faa 100644 --- a/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs +++ b/源代码/StgSharp/Graphics/GL/ShaderEdit/Uniform.cs @@ -38,7 +38,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public class Uniform { @@ -65,14 +65,14 @@ namespace StgSharp.Graphics ShaderProgram program, string name, glRenderStream binding) { this.binding = binding.ContextHandle; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal unsafe Uniform( ShaderProgram program, string name, IntPtr binding) { this.binding = binding; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal Uniform() @@ -101,14 +101,14 @@ namespace StgSharp.Graphics ShaderProgram program, string name, glRenderStream binding) { this.binding = binding.ContextHandle; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal unsafe Uniform( ShaderProgram program, string name, IntPtr binding) { this.binding = binding; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal Uniform() @@ -137,14 +137,14 @@ namespace StgSharp.Graphics internal unsafe Uniform( ShaderProgram program, string name) { - this.binding = GL.CurrentContextHandle; - id = GL.GetUniformLocation(program.handle, name); + this.binding = glFunc.CurrentContextHandle; + id = glFunc.GetUniformLocation(program.handle, name); } public unsafe Uniform(ShaderProgram program, string name, glRenderStream binding) { this.binding = binding.ContextHandle; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal Uniform() @@ -175,14 +175,14 @@ namespace StgSharp.Graphics internal unsafe Uniform(ShaderProgram program, string name, glRenderStream binding) { this.binding = binding.ContextHandle; - id = GL.GetUniformLocation(program.handle, name); + id = glFunc.GetUniformLocation(program.handle, name); } internal unsafe Uniform( ShaderProgram program, string name) { - this.binding = GL.CurrentContextHandle; - id = GL.GetUniformLocation(program.handle, name); + this.binding = glFunc.CurrentContextHandle; + id = glFunc.GetUniformLocation(program.handle, name); } internal Uniform() @@ -197,55 +197,57 @@ namespace StgSharp.Graphics } - internal static partial class GL + internal static partial class glFunc { [MethodImpl(MethodImplOptions.AggressiveInlining)] - public unsafe static void SetValue(Uniform uniform, Matrix44 mat) + public unsafe static void SetUniformValue + (Uniform uniform, Matrix44 mat) { Matrix44 temp = mat; Context.glUniformMatrix4fv(uniform.id.Value, 1, false, (float*)&temp); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public unsafe static void SetValue(Uniform uniform, vec4d vec) + public unsafe static void SetUniformValue(Uniform uniform, vec4d vec) + { + vec4d temp = vec; + Context.glUniform1fv(uniform.id.Value , 4, &temp); + } + + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public unsafe static void SetUniformValue(Uniform uniform, vec4d vec) { vec4d temp = vec; Context.glUniform1fv(uniform.id.Value , 4, &temp); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public unsafe static void SetValue(Uniform uniform, vec4d vec) - { - vec4d temp = vec; - Context.glUniform1fv(uniform.id.Value , 4, &temp); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetValue(Uniform uniform, float v0) + public static unsafe void SetUniformValue(Uniform uniform, float v0) { Context.glUniform1f(uniform.id.Value , v0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetValue(Uniform uniform, int i0) + public static unsafe void SetUniformValue(Uniform uniform, int i0) { Context.glUniform1i(uniform.id.Value , i0); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetValue(Uniform uniform, float v0, float v1) + public static unsafe void SetUniformValue(Uniform uniform, float v0, float v1) { Context.glUniform2f(uniform.id.Value , v0, v1); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetValue(Uniform uniform, float v0, float v1, float v2) + public static unsafe void SetUniformValue(Uniform uniform, float v0, float v1, float v2) { Context.glUniform3f(uniform.id.Value , v0, v1, v2); } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static unsafe void SetValue(Uniform uniform, float v0, float v1, float v2, float v3) + public static unsafe void SetUniformValue(Uniform uniform, float v0, float v1, float v2, float v3) { Context.glUniform4f(uniform.id.Value , v0, v1, v2, v3); } diff --git a/源代码/StgSharp/Graphics/GL/glApiManager.cs b/源代码/StgSharp/Graphics/GL/glApiManager.cs index 90987cc6..f1b8c160 100644 --- a/源代码/StgSharp/Graphics/GL/glApiManager.cs +++ b/源代码/StgSharp/Graphics/GL/glApiManager.cs @@ -37,7 +37,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public static partial class glManager { @@ -56,9 +56,9 @@ namespace StgSharp.Graphics private static string glExtensionList; /// - /// Load all supported OpenGL APIs and bind them to given context. + /// Load all supported OpenGL APIs and bind them to given context. /// - /// The used as current OpenGL context + /// The used as current OpenGL context public static unsafe void LoadGLapi(this glRenderStream stream) { GLcontext* context = (GLcontext*)stream.ContextHandle; @@ -1044,7 +1044,7 @@ namespace StgSharp.Graphics contextPtr->glPointSize = (delegate*)load("glPointSize"); contextPtr->glPolygonMode = (delegate*)load("glPolygonMode"); contextPtr->glReadBuffer = (delegate*)load("glReadBuffer"); - contextPtr->glReadPixels = (delegate*)load("glReadPixels"); + contextPtr->glReadPixels = (delegate*)load("glReadPixels"); contextPtr->glScissor = (delegate*)load("glScissor"); contextPtr->glStencilFunc = (delegate*)load("glStencilFunc"); contextPtr->glStencilMask = (delegate*)load("glStencilMask"); @@ -1368,7 +1368,7 @@ namespace StgSharp.Graphics contextPtr->glFramebufferTexture3D = (delegate*)load("glFramebufferTexture3D"); contextPtr->glFramebufferTextureLayer = (delegate*)load("glFramebufferTextureLayer"); contextPtr->glGenFramebuffers = (delegate*)load("glGenFramebuffers"); - contextPtr->glGenRenderbuffers = (delegate*)load("glGenRenderbuffers"); + contextPtr->glGenRenderbuffers = (delegate*)load("glGenRenderbuffers"); contextPtr->glGenVertexArrays = (delegate*)load("glGenVertexArrays"); contextPtr->glGenerateMipmap = (delegate*)load("glGenerateMipmap"); contextPtr->glGetBooleani_v = (delegate*)load("glGetBooleani_v"); @@ -1388,7 +1388,7 @@ namespace StgSharp.Graphics contextPtr->glIsRenderbuffer = (delegate*)load("glIsRenderbuffer"); contextPtr->glIsVertexArray = (delegate*)load("glIsVertexArray"); contextPtr->glMapBufferRange = (delegate*)load("glMapBufferRange"); - contextPtr->glRenderbufferStorage = (delegate*)load("glRenderbufferStorage"); + contextPtr->glRenderbufferStorage = (delegate*)load("glRenderbufferStorage"); contextPtr->glRenderbufferStorageMultisample = (delegate*)load("glRenderbufferStorageMultisample"); contextPtr->glTexParameterIiv = (delegate*)load("glTexParameterIiv"); contextPtr->glTexParameterIuiv = (delegate*)load("glTexParameterIuiv"); @@ -1908,7 +1908,7 @@ namespace StgSharp.Graphics contextPtr->glNamedFramebufferTextureLayer = (delegate*)load("glNamedFramebufferTextureLayer"); contextPtr->glNamedRenderbufferStorage = (delegate*)load("glNamedRenderbufferStorage"); contextPtr->glNamedRenderbufferStorageMultisample = (delegate*)load("glNamedRenderbufferStorageMultisample"); - contextPtr->glReadnPixels = (delegate*)load("glReadnPixels"); + contextPtr->glReadnPixels = (delegate*)load("glReadnPixels"); contextPtr->glTextureBarrier = (delegate*)load("glTextureBarrier"); contextPtr->glTextureBuffer = (delegate*)load("glTextureBuffer"); contextPtr->glTextureBufferRange = (delegate*)load("glTextureBufferRange"); diff --git a/源代码/StgSharp/Graphics/GL/glApiManagerConst.cs b/源代码/StgSharp/Graphics/GL/glApiManagerConst.cs index 85de47ef..6000633a 100644 --- a/源代码/StgSharp/Graphics/GL/glApiManagerConst.cs +++ b/源代码/StgSharp/Graphics/GL/glApiManagerConst.cs @@ -32,7 +32,7 @@ using System; using System.Collections.Generic; using System.Text; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { public static partial class glManager { diff --git a/源代码/StgSharp/Graphics/GL/glRenderStream.cs b/源代码/StgSharp/Graphics/GL/glRenderStream.cs index 15a442d2..8edb17dc 100644 --- a/源代码/StgSharp/Graphics/GL/glRenderStream.cs +++ b/源代码/StgSharp/Graphics/GL/glRenderStream.cs @@ -39,14 +39,18 @@ using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; -namespace StgSharp.Graphics +namespace StgSharp.Graphics.GL { + public abstract partial class glRenderStream : RenderStream { protected glRenderStream(RenderStreamConstructArgs args) : base(args) { } + protected glRenderStream(RenderStreamConstructArgs args,bool isSharing) : base(args,isSharing) + { + } protected IntPtr glContextHandle { @@ -54,19 +58,6 @@ namespace StgSharp.Graphics set { ContextHandle = value; } } - public static T AsMainStreamOf(Form f, (int x, int y, int z) unitCubeSize) where T : glRenderStream - { - RenderStreamConstructArgs args = new RenderStreamConstructArgs(); - args.UnitCubeSize = unitCubeSize; - args.Name = f.name; - args.Height = f.Height; - args.Width = f.Width; - T ret = Activator.CreateInstance(typeof(T), args) as T; - ret!.InternalInit(); - f.WindowID = ret.CanvasHandle; - return ret; - } - /// /// Init an OpenGl context if current form has not been binded to any context. and set the context binded to /// current form as current OpenGL context. @@ -82,10 +73,10 @@ namespace StgSharp.Graphics GLcontext* contextID = (GLcontext*)ContextHandle; contextID->glGetString = (delegate*)IntPtr.Zero; } - if (GL.CurrentContextHandle != ContextHandle) + if (glFunc.CurrentContextHandle != ContextHandle) { - GL.CurrentContextHandle = ContextHandle; - //Console.WriteLine($"context set as {(ulong)GL.CurrentContextHandle}"); + glFunc.CurrentContextHandle = ContextHandle; + //Console.WriteLine($"context set as {(ulong)glFunc.CurrentContextHandle}"); InternalIO.glfwMakeContextCurrent(CanvasHandle); } } @@ -98,11 +89,10 @@ namespace StgSharp.Graphics internal override sealed unsafe void CreateCanvas() { - byte[] nameCode = Encoding.UTF8.GetBytes(name); + byte[] nameCode = Encoding.UTF8.GetBytes(Name); CanvasHandle = InternalIO.glfwCreateWindow( Width, Height, nameCode, Monitor, IntPtr.Zero ); - NativeCamera = new Camera(); } internal override sealed void InternalDraw( @@ -113,6 +103,7 @@ namespace StgSharp.Graphics ProcessInput(); Main(in input, in output); } + internal override sealed void InternalInit() { CreateCanvas(); diff --git a/源代码/StgSharp/Graphics/Image.cs b/源代码/StgSharp/Graphics/Image.cs index dfa03f2b..8b47b815 100644 --- a/源代码/StgSharp/Graphics/Image.cs +++ b/源代码/StgSharp/Graphics/Image.cs @@ -29,11 +29,13 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- using StgSharp.Data; +using StgSharp.Graphics.GL; using StgSharp.Math; using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; @@ -41,18 +43,21 @@ using System.Threading.Tasks; namespace StgSharp.Graphics { - public class Image : SSDSerializable + public class Image : SSDSerializable, IImageProvider { - - internal ImageInfo info; internal byte[] data; - internal glHandle pixelArrayHandle; + internal ImageInfo info; internal Image(ImageInfo information) { info = information; - int length = info.width * info.height * info.channel; - pixelArrayHandle = glHandle.FromPtr(information.pixelPtr); + data = Array.Empty(); + //int length = info.width * info.height * info.channel; + } + + public ref byte[] DataStream + { + get => ref data; } public unsafe Image() @@ -60,104 +65,222 @@ namespace StgSharp.Graphics info = new ImageInfo(); } - public int Channel => info.channel; - public int Height => info.height; + public ImageChannel Channel => info.Channel; + public int ChannelCount => info.ChannelCount; + public int Height => info.Height; - public int Width => info.width; + public (int width, int height) Size + { + get => (info.Width, info.Height); + } public override SerializableTypeCode SSDTypeCode => SerializableTypeCode.PixelImage; + public int Width => info.Width; + + public static unsafe Image FromFile(string route, ImageLoader loader) + { + Image ret = new Image(); + fixed (ImageInfo* iptr = &ret.info) + { + InternalIO.InternalLoadImage(route, iptr, loader); + } + return ret; + } + + public static Image FromMemory((int width, int height) size, int channelCount, byte[] stream) + { + ImageInfo _info = new ImageInfo + { + Height = size.height, + Width = size.width, + ChannelCount = channelCount, + StreamPtr = IntPtr.Zero + }; + Image ret = new Image(_info); + ret.data = stream; + return ret; + } + + public glArrayHandle GetArrayHandle() + { + if ((data == Array.Empty()) || (data == null)) + { + this.GetBytes(); + return new glArrayHandle(data); + } + return new glArrayHandle(data); + } + + public override unsafe byte[] GetBytes() + { + if (data == null) + { + int size = Width * Height * ChannelCount; + data = new byte[size]; + int i = 0; + fixed (byte* bptr = data) + { + byte* pptr = bptr; + for (; i < size; i += 16) + { + *(M128*)(pptr + i) = *(M128*)(info.StreamPtr + i); + } + for (; i < size; i++) + { + *(pptr + i) = *(byte*)(info.StreamPtr + i); + } + } + fixed (ImageInfo* pptr = &info) + { + InternalIO.InternalUnloadImage(pptr); + } + info.StreamPtr = IntPtr.Zero; + } + return data; + } + + public override unsafe byte[] GetBytes(out int length) + { + if (data == null) + { + int size = Width * Height * ChannelCount; + data = new byte[size]; + int i = 0; + fixed (byte* bptr = data) + { + byte* pptr = bptr; + for (; i < size; i += 16) + { + *(M128*)(pptr + i) = *(M128*)(info.StreamPtr + i); + } + for (; i < size; i++) + { + *(pptr + i) = *(byte*)(info.StreamPtr + i); + } + } + fixed (ImageInfo* pptr = &info) + { + InternalIO.InternalUnloadImage(pptr); + } + info.StreamPtr = IntPtr.Zero; + } + length = data.Length; + return data; + } + + internal override unsafe void BuildFromByteStream(byte[] stream) + { + throw new NotSupportedException( + $"{($"{typeof(Image).Name} does not support BuildFromByteStream,")}{($"please use Image.FromMemory instead.")}" + ); + } + + public Image ProvideImage() + { + throw new NotImplementedException(); + } ~Image() { - if (info.pixelPtr!= IntPtr.Zero) + if (info.StreamPtr != IntPtr.Zero) { - // Marshal.FreeHGlobal(info.pixelPtr); + // Marshal.FreeHGlobal(info.StreamPtr); } } - public unsafe override byte[] GetBytes() - { - if (data == null) - { - int size = Width * Height * Channel + 1 + 8; - data = new byte[size]; - int i = 0; - fixed (byte* bptr = data) - { - *(int*)bptr = Width; - *(int*)(bptr + 4) = Height; - *(bptr + 8) = (byte)Channel; - byte* pptr = bptr; - for (; i < size; i += 16) - { - *(M128*)(pptr + i) = *(M128*)(info.pixelPtr + i); - } - for (; i < size; i++) - { - *(pptr + i) = *(byte*)(info.pixelPtr + i); - } - } - } - Marshal.FreeHGlobal(info.pixelPtr); - info.pixelPtr = IntPtr.Zero; - return data; - } - - public unsafe override byte[] GetBytes(out int length) - { - if (data == null) - { - int size = Width * Height * Channel + 1 + 8; - data = new byte[size]; - int i = 0; - fixed (byte* bptr = data) - { - *(int*)bptr = Width; - *(int*)(bptr + 4) = Height; - *(bptr + 8) = (byte)Channel; - byte* pptr = bptr; - for (; i < size; i += 16) - { - *(M128*)(pptr + i) = *(M128*)(info.pixelPtr + i); - } - for (; i < size; i++) - { - *(pptr + i) = *(byte*)(info.pixelPtr + i); - } - } - } - length = data.Length; - Marshal.FreeHGlobal(info.pixelPtr); - info.pixelPtr = IntPtr.Zero; - return data; - } - - internal unsafe override void BuildFromByteStream(byte[] stream) - { - info = new ImageInfo(); - fixed (byte* bptr = stream) - { - info.width = *(int*)bptr; - info.height = *(int*)(bptr + 4); - info.channel = *(bptr + 8); - info.pixelPtr = IntPtr.Zero; - } - data = stream; - } } [StructLayout(LayoutKind.Sequential)] internal struct ImageInfo { - internal int width; - internal int height; - internal int channel; - internal IntPtr pixelPtr; + private ImageChannel channel; + private int channelCount; + private int height; + private int width; + private IntPtr pixelPtr; + + public ImageChannel Channel + { + get => channel; + set + { + channel = value; + switch (channel) + { + case ImageChannel.SingleColor: + channelCount = 1; break; + case ImageChannel.DoubleColor: + channelCount = 2; break; + case ImageChannel.FullColor: + channelCount = 3; break; + case ImageChannel.WithAlphaChannel: + channelCount = 4; break; + default: + throw new InvalidCastException("Unknown color channel decoding setting."); + } + } + } + + public int ChannelCount + { + get => channelCount; + set + { + channelCount = value; + switch (channelCount) + { + case 1: + channel = ImageChannel.SingleColor; break; + case 2: + channel = ImageChannel.DoubleColor; break; + case 3: + channel = ImageChannel.FullColor; break; + case 4: + channel = ImageChannel.WithAlphaChannel; break; + default: + throw new InvalidCastException("Unknown color channel decoding setting."); + } + } + } + + public int Height + { + get => height; + set => height = value; + } + + public IntPtr StreamPtr + { + get => pixelPtr; + internal set => pixelPtr = value; + } + + public int StreamSize + { + get => width * height * channelCount; + } + + public int Width + { + get => width; + set => width = value; + } public override string ToString() { - return $"{channel}\t{width}\t{height}\t{pixelPtr}"; + return $"{channel}\t{width}\t{height}\t{(ulong)StreamPtr}"; } + } + + public enum ImageChannel : uint + { + SingleColor = GLconst.RED, + DoubleColor = GLconst.RG, + FullColor = GLconst.RGB, + WithAlphaChannel = GLconst.RGBA, + } + + } \ No newline at end of file diff --git a/源代码/StgSharp/Graphics/PlainGeometryMesh.cs b/源代码/StgSharp/Graphics/PlainGeometryMesh.cs new file mode 100644 index 00000000..13d45dbe --- /dev/null +++ b/源代码/StgSharp/Graphics/PlainGeometryMesh.cs @@ -0,0 +1,58 @@ +using StgSharp.Geometries; +using StgSharp.Math; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace StgSharp.Graphics +{ + public class PlainGeometryMesh + { + private IGeometry _shape; + private Image _texture; + private vec2d[] textureCoord; + + public PlainGeometryMesh( + IGeometry shape, Image texture, IEnumerable texCoord + ) + { + if (shape==null) + { + throw new ArgumentNullException(nameof(shape)); + } + if (texCoord == null) + { + throw new ArgumentNullException(nameof(texCoord)); + } + + _shape = shape; + textureCoord = new vec2d[shape.VertexCount]; + _texture = texture; + if (texCoord is not vec2d[] source) + { + source = texCoord.ToArray(); + } + if (textureCoord.Length > source.Length) + { + throw new ArgumentException(paramName: nameof(texCoord), message: "Amount of texture coordination is too less"); + } + Array.Copy(sourceArray: source, textureCoord, textureCoord.Length); + return; + + } + + public ReadOnlySpan MeshIndices => _shape.VertexIndices; + + public vec4d[] VertexArray => _shape.VertexStream; + + public Image Texture + { + get => _texture; + internal set => _texture = value; + } + + public vec2d[] TextureCoord => textureCoord; + } +} diff --git a/源代码/StgSharp/Graphics/RenderStream.cs b/源代码/StgSharp/Graphics/RenderStream.cs index 562858ec..c7822230 100644 --- a/源代码/StgSharp/Graphics/RenderStream.cs +++ b/源代码/StgSharp/Graphics/RenderStream.cs @@ -28,6 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- +using StgSharp.Graphics.GL; using StgSharp.Logic; using StgSharp.Math; @@ -42,28 +43,56 @@ using System.Threading.Tasks; namespace StgSharp.Graphics { - public abstract class RenderStream: IConvertableToBlueprintNode + public abstract class RenderStream : IConvertableToBlueprintNode { + private protected (int x, int y, int z) _coordStretch; + + private protected RenderStreamConstructArgs primeArgs; + + private Camera nativeCamera; + private IntPtr canvasHandle; private IntPtr contextHandle; - private int height; private IntPtr monitor; private IntPtr sharedCanvas; - private int width; - protected (int x, int y, int z) _coordStretch; - protected string name; - private Camera nativeCamera; + + internal TimeSpanProvider timeProvider; + + protected RenderStream(RenderStreamConstructArgs args, bool isSharing) + { + if (args == null) + { + throw new ArgumentNullException(nameof(args)); + } + if (isSharing) + { + primeArgs = args; + } + else + { + RenderStreamConstructArgs? newArgs = args.Clone() as RenderStreamConstructArgs; + primeArgs = newArgs; + } + + monitor = args.Monitor; + _coordStretch = args.UnitCubeSize; + NativeCamera = new Camera(); + } public RenderStream(RenderStreamConstructArgs args) { - height = args.Height; - monitor = args.Monitor; - width = args.Width; - name = args.Name; - monitor = args.Monitor; - _coordStretch = args.UnitCubeSize; + if (args == null) + { + throw new ArgumentNullException(nameof(args)); + } + RenderStreamConstructArgs? newArgs = args.Clone() as RenderStreamConstructArgs; + primeArgs = newArgs; + + monitor = newArgs!.Monitor; + _coordStretch = newArgs.UnitCubeSize; + NativeCamera = new Camera(); } public IntPtr CanvasHandle @@ -78,12 +107,6 @@ namespace StgSharp.Graphics internal set => contextHandle = value; } - internal protected Camera NativeCamera - { - get => nativeCamera; - internal set => nativeCamera = value; - } - public FrameBufferSizeHandler FrameSizeCallback { set @@ -94,13 +117,13 @@ namespace StgSharp.Graphics } public vec2d GlobalCoordSize => ((Width * 1.0f) / _coordStretch.x, (Height * 1.0f) / _coordStretch.y); - + public int Height { - get => height; + get => primeArgs.Height; internal set { - height = value; + primeArgs.Height = value; InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); } } @@ -113,8 +136,8 @@ namespace StgSharp.Graphics public string Name { - get => name; - internal set => name = value; + get => primeArgs.Name; + internal set => primeArgs.Name = value; } public IntPtr SharedCanvas @@ -123,35 +146,50 @@ namespace StgSharp.Graphics internal set => sharedCanvas = value; } - public vec2d Size + public (int width, int height) Size { - get => new vec2d(width, height); + get => (Width, Height); internal set { - height = (int)value.Y; - width = (int)value.X; + primeArgs.Height = value.width; + primeArgs.Width = value.height; InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); } } public int Width { - get => width; + get => primeArgs.Width; internal set { - width = value; + primeArgs.Width = value; InternalIO.glfwSetWindowSize(this.canvasHandle, Width, Height); } } + protected internal Camera NativeCamera + { + get => nativeCamera; + internal set => nativeCamera = value; + } + + protected int Frames + { + get => timeProvider.CurrentSpan; + } + protected abstract string[] InputPortsName { get; } protected abstract string[] OutputPortsName { get; } - string[] IConvertableToBlueprintNode.InputInterfacesName => InputPortsName; + protected float TimePassed + { + get => timeProvider.CurrentSpan; + } - string[] IConvertableToBlueprintNode.OutputInterfacesName => OutputPortsName; - - BlueprintNodeAction IConvertableToBlueprintNode.MainExecution => InternalDraw; + protected TimeSpanProvider TimeProvider + { + get => timeProvider; + } /// /// Set the size limit of current form @@ -163,10 +201,36 @@ namespace StgSharp.Graphics [MethodImpl(MethodImplOptions.AggressiveInlining)] public abstract void SetSizeLimit(int minWidth, int minHeight, int maxWidth, int maxHeight); + public static TTarget ShareContextWith(TSource source) + where TSource : RenderStream + where TTarget : RenderStream + { + TTarget? target = Activator.CreateInstance(typeof(TTarget), source.primeArgs, true) as TTarget; + if (target == null) + { + throw new InvalidOperationException( + $"Failed in creating a new {typeof(TTarget).Name} instance when calling ShareContextWith." + ); + } + target.timeProvider = source.timeProvider; + target.canvasHandle = source.canvasHandle; + target.contextHandle = source.contextHandle; + target.Init(); + return target; + } + + + internal abstract void CreateCanvas(); + string[] IConvertableToBlueprintNode.InputInterfacesName => InputPortsName; + + BlueprintNodeAction IConvertableToBlueprintNode.MainExecution => InternalDraw; + + string[] IConvertableToBlueprintNode.OutputInterfacesName => OutputPortsName; + #region native camera operation - protected abstract void NativeCameraViewRange(Radius FieldOfRange,vec2d offset, (float frontDepth, float backDepth ) viewDepth ); + protected abstract void NativeCameraViewRange(Radius fieldOfRange, vec2d offset, (float frontDepth, float backDepth) viewDepth); protected abstract void NativeCameraViewTarget(vec3d position, vec3d direction, vec3d up); /// /// Get (T is ) uniform from a shader. @@ -198,7 +262,7 @@ namespace StgSharp.Graphics in Dictionary input, in Dictionary output); protected abstract void ProcessInput(); - + #endregion #region public resource generator @@ -206,19 +270,32 @@ namespace StgSharp.Graphics protected abstract Shader CreateShaderSegment(ShaderType type, int count); protected abstract ShaderProgram CreateShaderProgram(); - + #endregion + } - public class RenderStreamConstructArgs + public class RenderStreamConstructArgs : ICloneable { public int Height { get; set; } public IntPtr Monitor { get; set; } public string Name { get; set; } - public int Width { get; set; } public (int x, int y, int z) UnitCubeSize { get; set; } + public int Width { get; set; } + + public object Clone() + { + RenderStreamConstructArgs ret = new RenderStreamConstructArgs(); + ret.Height = Height; + ret.Width = Width; + ret.Monitor = Monitor; + ret.Name = Name; + ret.UnitCubeSize = UnitCubeSize; + return ret; + } + } } diff --git a/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs b/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs index 28927be2..9d0c3e59 100644 --- a/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs +++ b/源代码/StgSharp/Graphics/ShaderEdit/ShaderGenerator.cs @@ -29,6 +29,7 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- using StgSharp.Graphics; +using StgSharp.Graphics.GL; using StgSharp.Math; using System; diff --git a/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs b/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs index 56a3461b..4fa5f47f 100644 --- a/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs +++ b/源代码/StgSharp/Graphics/ShaderEdit/ShaderStruct.cs @@ -1,4 +1,6 @@ -using System; +using StgSharp.Graphics.GL; + +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -36,7 +38,7 @@ namespace StgSharp.Graphics.ShaderEdit public unsafe void SetAllUniforms() { - GLcontext* gl = (GLcontext*) GL.CurrentContextHandle; + GLcontext* gl = (GLcontext*) glFunc.CurrentContextHandle; foreach (var uniform in uniformPair) { int id = uniform.Key.Value; @@ -59,6 +61,6 @@ namespace StgSharp.Graphics.ShaderEdit "Incorrect type \"Unknown\" defined in this self define type"); } } - } + }//------------------------------------ End of Class --------------------------------------- } } diff --git a/源代码/StgSharp/Graphics/TexturePipeline.cs b/源代码/StgSharp/Graphics/TexturePipeline.cs new file mode 100644 index 00000000..b192b887 --- /dev/null +++ b/源代码/StgSharp/Graphics/TexturePipeline.cs @@ -0,0 +1,26 @@ +using StgSharp.Logic; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharp.Graphics +{ + public class TexturePipeline:BlueprintPipelineArgs + { + public TexturePipeline(Image i) + { + value = i; + } + + private Image value; + + public Image Value + { + get => value; + set => value = value ?? throw new ArgumentNullException(nameof(value)); + } + } +} diff --git a/源代码/StgSharp/Logic/Blueprint/Blueprint.cs b/源代码/StgSharp/Logic/Blueprint/Blueprint.cs index ca10cc51..94f638eb 100644 --- a/源代码/StgSharp/Logic/Blueprint/Blueprint.cs +++ b/源代码/StgSharp/Logic/Blueprint/Blueprint.cs @@ -45,7 +45,7 @@ using System.Xml.Serialization; namespace StgSharp.Logic { - public class Blueprint : IConvertableToBlueprintNode + public partial class Blueprint : IConvertableToBlueprintNode { private BeginningNode beginNode; private Dictionary allNode; diff --git a/源代码/StgSharp/Logic/Blueprint/BlueprintNode.cs b/源代码/StgSharp/Logic/Blueprint/BlueprintNode.cs index cb025896..6f9c9415 100644 --- a/源代码/StgSharp/Logic/Blueprint/BlueprintNode.cs +++ b/源代码/StgSharp/Logic/Blueprint/BlueprintNode.cs @@ -30,9 +30,12 @@ //----------------------------------------------------------------------- +using StgSharp.Entities; + using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -52,59 +55,64 @@ namespace StgSharp.Logic /// Reset pipeline has risk, this operation is a direct operation to port /// in current node, the port on the other node cannot get the change. /// +#pragma warning disable CA1036 public class BlueprintNode : IComparable +#pragma warning restore CA1036 { - - private Blueprint local; private BlueprintNodeAction mainOperation; - private bool levelAvailabel, nativeRequested; - private int level; + private protected bool levelAvailable, nativeRequested; + private protected int _level; private string name; - protected Dictionary inputInterfaces; - protected Dictionary outputInterfaces; + private protected Dictionary _inputInterfaces; + private protected Dictionary _outputInterfaces; + internal BlueprintNode(string name, BlueprintNodeAction operation, bool isNative, string[] inputPorts, string[] outputPorts) { - this.levelAvailabel = false; + this.levelAvailable = false; this.name = name; nativeRequested = isNative; mainOperation = operation; - inputInterfaces = new Dictionary(); - outputInterfaces = new Dictionary(); - if (inputPorts.Length * outputPorts.Length == 0) + _inputInterfaces = new Dictionary(); + _outputInterfaces = new Dictionary(); + if (inputPorts.Length == 0 ) { - throw new Exception(); + throw new ArgumentNullException(nameof(inputPorts)); + } + if (outputPorts.Length == 0) + { + throw new ArgumentNullException(nameof(outputPorts)); } foreach (var portName in inputPorts) { - inputInterfaces.Add(portName, null); + _inputInterfaces.Add(portName, null); } foreach (var portName in outputPorts) { - outputInterfaces.Add(portName, null); + _outputInterfaces.Add(portName, null); } } public BlueprintNode(string name, IConvertableToBlueprintNode convertable) { - this.levelAvailabel = false; + this.levelAvailable = false; this.name = name; - inputInterfaces = new Dictionary(); - outputInterfaces = new Dictionary(); + _inputInterfaces = new Dictionary(); + _outputInterfaces = new Dictionary(); mainOperation = convertable.MainExecution; foreach (var soket in convertable.InputInterfacesName) { - inputInterfaces.Add(soket, null); + _inputInterfaces.Add(soket, null); } foreach (var soket in convertable.OutputInterfacesName) { - outputInterfaces.Add(soket, null); + _outputInterfaces.Add(soket, null); } } @@ -113,21 +121,21 @@ namespace StgSharp.Logic string[] outputPorts ) { - this.levelAvailabel = false; + this.levelAvailable = false; this.name = name; - inputInterfaces = new Dictionary(); - outputInterfaces = new Dictionary(); + _inputInterfaces = new Dictionary(); + _outputInterfaces = new Dictionary(); if (inputPorts.Length * outputPorts.Length == 0) { throw new Exception(); } foreach (var portName in inputPorts) { - inputInterfaces.Add(portName, null); + _inputInterfaces.Add(portName, null); } foreach (var portName in outputPorts) { - outputInterfaces.Add(portName, null); + _outputInterfaces.Add(portName, null); } } @@ -136,35 +144,36 @@ namespace StgSharp.Logic get => nativeRequested; internal set => nativeRequested = value; } + public int Level { get { - if (levelAvailabel) + if (levelAvailable) { - return level; + return _level; } - level = 0; - foreach (var item in inputInterfaces) + _level = 0; + foreach (var item in _inputInterfaces) { if (item.Value == null) { continue; } - if (level <= item.Value.Level) + if (_level <= item.Value.Level) { - level = item.Value.Level; + _level = item.Value.Level; } } - level += 1; - return level; + _level += 1; + return _level; } } public string Name => name; - internal Dictionary InputInterfaces => inputInterfaces; - internal Dictionary OutputInterfaces => outputInterfaces; + internal Dictionary InputInterfaces => _inputInterfaces; + internal Dictionary OutputInterfaces => _outputInterfaces; public void AddAfter( @@ -172,7 +181,7 @@ namespace StgSharp.Logic string formerOutputPortName, string thisInputPortName) { - this.levelAvailabel = false; + this.levelAvailable = false; BlueprintPipeline pipeline = new BlueprintPipeline(former, this); if (former is BeginningNode bnode) { @@ -191,7 +200,7 @@ namespace StgSharp.Logic string thisOutputPortName, string afterInputPortName) { - this.levelAvailabel = false; + this.levelAvailable = false; BlueprintPipeline pipeline = new BlueprintPipeline(this, after); if (after is EndingNode enode) { @@ -210,8 +219,8 @@ namespace StgSharp.Logic try { //Console.WriteLine(name); - BlueprintPipeline.WaitAll(inputInterfaces); - mainOperation(in inputInterfaces, in outputInterfaces); + BlueprintPipeline.WaitAll(_inputInterfaces); + mainOperation(in _inputInterfaces, in _outputInterfaces); } catch (Exception) { @@ -219,55 +228,58 @@ namespace StgSharp.Logic } } - - int IComparable.CompareTo(BlueprintNode other) + public int CompareTo(BlueprintNode other) { +#pragma warning disable CA1062 return this.Level.CompareTo(other.Level); +#pragma warning restore CA1062 } #region port operation public BlueprintPipeline GetCertainInputPort(string name) { - if (!inputInterfaces.ContainsKey(name)) + BlueprintPipeline ret; + if (!_inputInterfaces.TryGetValue(name,out ret)) { throw new Exception($"Cannot find the interface named {name} in node {Name}."); } - return inputInterfaces[name]; + return ret; } public BlueprintPipeline GetCertainOutputPort(string name) { - if (!outputInterfaces.ContainsKey(name)) + BlueprintPipeline ret; + if (!_outputInterfaces.TryGetValue(name, out ret)) { throw new Exception($"Cannot find the interface named {name} in node {Name}."); } - return outputInterfaces[name]; + return ret; } public void SetCertainInputPort(string name, BlueprintPipeline pipeline) { - if (!inputInterfaces.ContainsKey(name)) + if (!_inputInterfaces.ContainsKey(name)) { throw new Exception($"Cannot find the interface named {name} in node {Name}."); } - inputInterfaces[name] = pipeline; + _inputInterfaces[name] = pipeline; } public void SetCertainOutputPort(string name, BlueprintPipeline pipeline) { - if (!outputInterfaces.ContainsKey(name)) + if (!_outputInterfaces.ContainsKey(name)) { throw new Exception($"Cannot find the interface named {name} in node {Name}."); } - outputInterfaces[name] = pipeline; + _outputInterfaces[name] = pipeline; } #endregion - }//--------------------------------- end of class ----------------------------- + }//--------------------------------- end of class ----------------------------------- public interface IConvertableToBlueprintNode { @@ -280,15 +292,25 @@ namespace StgSharp.Logic public class BlueprintNodeRunException : Exception { + public BlueprintNodeRunException() + { + } public BlueprintNodeRunException(Exception ex) : base(string.Empty, ex) { } - public BlueprintNodeRunException(string message, Exception ex) : base(message, ex) + public BlueprintNodeRunException(string message) : base(message) { } + public BlueprintNodeRunException(string message, Exception innerException) : base(message, innerException) + { + } + + protected BlueprintNodeRunException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } } } diff --git a/源代码/StgSharp/Logic/Blueprint/PipeLine.cs b/源代码/StgSharp/Logic/Blueprint/PipeLine.cs index 6fdc15c7..23b070df 100644 --- a/源代码/StgSharp/Logic/Blueprint/PipeLine.cs +++ b/源代码/StgSharp/Logic/Blueprint/PipeLine.cs @@ -61,7 +61,7 @@ namespace StgSharp.Logic public int Level => former.Level; - public BlueprintPipelineArgs Value + public BlueprintPipelineArgs Args { get => args; set => args = value; @@ -120,5 +120,7 @@ namespace StgSharp.Logic public abstract class BlueprintPipelineArgs { + public object? Value { get; set; } + } } diff --git a/源代码/StgSharp/Logic/Blueprint/RouteSwitch.cs b/源代码/StgSharp/Logic/Blueprint/RouteSwitch.cs new file mode 100644 index 00000000..68bac730 --- /dev/null +++ b/源代码/StgSharp/Logic/Blueprint/RouteSwitch.cs @@ -0,0 +1,182 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="RouteSwitch.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection.Emit; +using System.Security.Cryptography.X509Certificates; +using System.Text; + +namespace StgSharp.Logic +{ + public class RouteSwitch : BlueprintNode + { + private protected Dictionary openingRule)> outputDictionary; + + public RouteSwitch(string name, string inputPorts) : + base(name, [inputPorts], [string.Empty]) + { + outputDictionary = new Dictionary openingRule)>(); + } + + public new int Level + { + get + { + if (levelAvailable) + { + return _level; + } + _level = 0; + KeyValuePair item = _inputInterfaces.First(); + if (item.Value == null) + { + throw new InvalidOperationException(); + } + if (_level <= item.Value.Level) + { + _level = item.Value.Level; + } + return _level; + } + } + + public new void AddBefore( + BlueprintNode after, + string thisOutputPortName, + string afterInputPortName) + { + this.AppendNode(after, afterInputPortName, () => true); + } + + public void AppendNode(BlueprintNode node, string portName, Func openningRule) + { + if (node == null) + { + throw new ArgumentNullException(nameof(node)); + } + string indexName = $"{node.Name}.{portName}"; + BlueprintPipeline p = new BlueprintPipeline(this, node); + node.InputInterfaces[portName] = p; + outputDictionary.Add(indexName, (p, openningRule)); + } + + public new void Run() + { + try + { + BlueprintPipeline input = InputInterfaces.First().Value; + input.WaitForStart(); + foreach (KeyValuePair openingRule)> item in outputDictionary) + { + if (item.Value.openingRule()) + { + item.Value.pipeline.CompleteAndWriteData(input.Args); + } + } + } + catch (Exception) + { + throw; + } + } + + } + + + public sealed class RouteHub : BlueprintNode + { + + private Dictionary controllingFunc)> inputDictionary; + + public RouteHub(string name, string[] inputPorts, string[] outputPorts) : base(name, inputPorts, outputPorts) + { + inputDictionary = new Dictionary controllingFunc)>(); + } + + + public new int Level + { + get + { + if (levelAvailable) + { + return _level; + } + _level = 0; + foreach (KeyValuePair item in _inputInterfaces) + { + if (item.Value == null) + { + continue; + } + if (_level <= item.Value.Level) + { + _level = item.Value.Level; + } + } + return _level; + } + } + + public void PrependNode(BlueprintNode node, string portName, Func usingRule) + { + if (node == null) + { + throw new ArgumentNullException(nameof(node)); + } + string indexName = $"{node.Name}.{portName}"; + BlueprintPipeline p = new BlueprintPipeline(this, node); + node.InputInterfaces[portName] = p; + inputDictionary.Add(indexName, (p, usingRule)); + } + + public new void Run() + { + try + { + foreach (KeyValuePair controllingFunc)> item in inputDictionary) + { + item.Value.pipeline.WaitForStart(); + if (item.Value.controllingFunc()) + { + _outputInterfaces.First().Value.CompleteAndWriteData(item.Value.pipeline.Args); + } + } + } + catch (Exception) + { + throw; + } + } + + } +} diff --git a/源代码/StgSharp/Logic/Blueprint/SideNode.cs b/源代码/StgSharp/Logic/Blueprint/SideNode.cs index aedc7c9c..ee87e882 100644 --- a/源代码/StgSharp/Logic/Blueprint/SideNode.cs +++ b/源代码/StgSharp/Logic/Blueprint/SideNode.cs @@ -9,11 +9,12 @@ using System.Threading.Tasks; namespace StgSharp.Logic { - internal sealed class BeginningNode:BlueprintNode + internal sealed class BeginningNode : BlueprintNode { - public BeginningNode():base(name : "BeginningNode",null, + public BeginningNode() : base(name: "BeginningNode", null, true, ["default"], ["default"] - ) { } + ) + { } internal (string name, BlueprintPipelineArgs arg)[] InputData { @@ -25,60 +26,61 @@ namespace StgSharp.Logic } foreach (var parameter in value) { - OutputInterfaces[parameter.name].Value = parameter.arg; + OutputInterfaces[parameter.name].Args = parameter.arg; } } } public new void SetCertainOutputPort(string name, BlueprintPipeline pipeline) { - if (outputInterfaces.ContainsKey(name)) + if (_outputInterfaces.ContainsKey(name)) { - outputInterfaces[name] = pipeline; + _outputInterfaces[name] = pipeline; } - outputInterfaces.Add(name,pipeline); + _outputInterfaces.Add(name, pipeline); } public new void Run() { - BlueprintPipeline.SkipAll(outputInterfaces); + BlueprintPipeline.SkipAll(_outputInterfaces); } } internal sealed class EndingNode : BlueprintNode { - public EndingNode():base(name:"EndingNode", + public EndingNode() : base(name: "EndingNode", operation: ( - in Dictionary input, + in Dictionary input, in Dictionary output - ) => + ) => { }, true, ["default"], ["default"] - ) { } + ) + { } internal (string name, BlueprintPipelineArgs arg)[] OutputData { - get - { + get + { return InputInterfaces.Select( - key => (key.Key, key.Value.Value) ). + key => (key.Key, key.Value.Args)). ToArray(); } } public new void SetCertainInputPort(string name, BlueprintPipeline pipeline) { - if (inputInterfaces.ContainsKey(name)) + if (_inputInterfaces.ContainsKey(name)) { - inputInterfaces[name] = pipeline; + _inputInterfaces[name] = pipeline; } - inputInterfaces.Add(name, pipeline); + _inputInterfaces.Add(name, pipeline); } - public new void Run() + public new void Run() { - BlueprintPipeline.WaitAll(inputInterfaces); + BlueprintPipeline.WaitAll(_inputInterfaces); } } -} +} \ No newline at end of file diff --git a/源代码/StgSharp/Logic/TimeFunction.cs b/源代码/StgSharp/Logic/TimeFunction.cs new file mode 100644 index 00000000..e4e8ed22 --- /dev/null +++ b/源代码/StgSharp/Logic/TimeFunction.cs @@ -0,0 +1,146 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="TimeFunction.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp +{ + public class TimeFunction + { + private float _beginning, _ending; + private Func _timeRelatedCalculation; + private TimeSpanProvider _timeProvider; + + public TimeFunction( + TimeSpanProvider timeSpanProvider, + Func timeRelatedCalculation, + float range) + { + _timeProvider = timeSpanProvider; + _timeRelatedCalculation = timeRelatedCalculation; + if (timeSpanProvider == null) + { + return; + } + _beginning = _timeProvider.CurrentSecond; + _ending = _timeProvider.CurrentSecond + range; + } + + internal TimeFunction() { } + + public bool IsComplete + { + get => _timeProvider.CurrentSecond > _ending; + } + + public Func TimeRelatedCalculation + { + get { return _timeRelatedCalculation; } + set { _timeRelatedCalculation = value; } + } + + public TimeSpanProvider TimeSpanProvider + { + get { return _timeProvider; } + set { _timeProvider = value; } + } + + public float Calculate() + { + if (_timeProvider.CurrentSecond < _ending) + { + return 0; + } + return _timeRelatedCalculation(_timeProvider.CurrentSecond - _beginning); + } + + public void Reset() + { + float range = _ending - _beginning; + _beginning = _timeProvider.CurrentSecond; + _ending = _beginning + range; + } + + public TimeFunction Renew(Func func,float range) + { + return new TimeFunction(_timeProvider,func,range); + } + + public TimeFunction Renew((Func func, float range) funcPair) + { + return new TimeFunction(_timeProvider, funcPair.func, funcPair.range); + } + + public static TimeFunction One + { + get => new TimeFunctionOne(); + } + + public static TimeFunction Proportional(TimeSpanProvider time,float begin, float range) + { + return new TimeFunction( + time, (float t) => t + begin, range + ); + } + } + + + public class TimeFunctionOne : TimeFunction + { + internal TimeFunctionOne() : base() + { + } + + public new bool IsCompleted + { + get => true; + } + + public new void Reset() + { + } + + public new TimeFunction Renew(Func func, float range) + { + throw new NotSupportedException(); + } + public new TimeFunction Renew((Func func, float range) funcPair) + { + throw new NotSupportedException(); + } + + public float Calculate() + { + return 1; + } + } +} diff --git a/源代码/StgSharp/Logic/TimeSpanProvider.cs b/源代码/StgSharp/Logic/TimeSpanProvider.cs index 6ff96e9a..e59d8f19 100644 --- a/源代码/StgSharp/Logic/TimeSpanProvider.cs +++ b/源代码/StgSharp/Logic/TimeSpanProvider.cs @@ -43,15 +43,17 @@ namespace StgSharp public class TimeSpanProvider { - private Action _frameUpdateMissCallback = null; - - private readonly int _maxSpanCount; + private Action _frameUpdateMissCallback = () => { }; private Action _refreshCallback; - private SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(0, 1); - private long _spanBegin; - private readonly long _spanLength; private bool _subscribed; private Counter timeSpanCount = new Counter(-1, 1, 1); + private readonly int _maxSpanCount; + private long _spanBegin; + private readonly long _spanLength; + private SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(0, 1); + private readonly TimeSourceProviderBase _timeSource; + + /// /// Create a new and define the length of time span. Length of a single time span is defined in microseconds. @@ -60,6 +62,11 @@ namespace StgSharp /// public TimeSpanProvider(long spanMicroSeconds, TimeSourceProviderBase provider) { + if (provider == null) + { + throw new ArgumentNullException(nameof(provider)); + } + _timeSource = provider; _spanLength = spanMicroSeconds; _maxSpanCount = int.MaxValue; provider.AddSubscriber(this); @@ -75,6 +82,10 @@ namespace StgSharp /// public TimeSpanProvider(double spanSeconds, TimeSourceProviderBase provider) { + if (provider == null) + { + throw new ArgumentNullException(nameof(provider)); + } _spanLength = (long)(spanSeconds * 1000L * 1000L); _spanBegin = -_spanLength; _maxSpanCount = int.MaxValue; @@ -91,6 +102,10 @@ namespace StgSharp /// public TimeSpanProvider(long spanLength, int maxSpan, TimeSourceProviderBase provider) { + if (provider == null) + { + throw new ArgumentNullException(nameof(provider)); + } if (maxSpan <= 0) { maxSpan = int.MaxValue; @@ -101,7 +116,14 @@ namespace StgSharp } public int CurrentSpan -=> timeSpanCount.Value; + { + get => timeSpanCount.Value; + } + + public float CurrentSecond + { + get => timeSpanCount.Value * SpanLengthLowPrecession; + } /// /// Time source provider provided in internal framework. @@ -114,6 +136,16 @@ namespace StgSharp set => _frameUpdateMissCallback = value; } + public double SpanLength + { + get => (_spanLength * 1.0) / (1000L * 1000L); + } + + public float SpanLengthLowPrecession + { + get => (_spanLength * 1.0f) / (1000 * 1000); + } + /// /// The method this will call every time a new time span started. /// @@ -125,6 +157,10 @@ namespace StgSharp public void SubscribeToTimeSource(TimeSourceProviderBase serviceHandler) { + if (serviceHandler == null) + { + throw new ArgumentNullException(nameof(serviceHandler)); + } if (_subscribed) { return; @@ -144,7 +180,7 @@ namespace StgSharp { return true; } - + _spanBegin = microseconds; timeSpanCount++; diff --git a/源代码/StgSharp/Math/Graphic/Camera.cs b/源代码/StgSharp/Math/Graphic/Camera.cs index eac78609..15dcd869 100644 --- a/源代码/StgSharp/Math/Graphic/Camera.cs +++ b/源代码/StgSharp/Math/Graphic/Camera.cs @@ -29,6 +29,7 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- using StgSharp.Graphics; +using StgSharp.Graphics.GL; using StgSharp.Graphics.ShaderEdit; using StgSharp.Math; @@ -142,7 +143,7 @@ namespace StgSharp.Graphics public unsafe void SetAllUniforms() { //Console.WriteLine(Projection * View); - GL.SetValue(convertedUniform, Projection * View); + glFunc.SetUniformValue(convertedUniform, Projection * View); } public void SetViewDirection(vec3d position, vec3d target, vec3d up) @@ -224,7 +225,7 @@ namespace StgSharp.Graphics { } - #region ratation + #region rotation public void Yaw(Radius r) { @@ -313,6 +314,7 @@ namespace StgSharp.Graphics } + #endregion diff --git a/源代码/StgSharp/Math/Linear/vec2d.cs b/源代码/StgSharp/Math/Linear/vec2d.cs index 1284df8e..c0842b81 100644 --- a/源代码/StgSharp/Math/Linear/vec2d.cs +++ b/源代码/StgSharp/Math/Linear/vec2d.cs @@ -102,6 +102,10 @@ namespace StgSharp.Math { return new vec2d(vec.v / value); } + public static vec2d operator *(float value, vec2d vec) + { + return new vec2d(vec.v * value); + } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static vec2d operator +(vec2d left, vec2d right) diff --git a/源代码/StgSharp/Math/Linear/vec3d.cs b/源代码/StgSharp/Math/Linear/vec3d.cs index d8a28ab7..490d65e9 100644 --- a/源代码/StgSharp/Math/Linear/vec3d.cs +++ b/源代码/StgSharp/Math/Linear/vec3d.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Data; using System; diff --git a/源代码/StgSharp/Math/Linear/vec4d.cs b/源代码/StgSharp/Math/Linear/vec4d.cs index 7e572307..256d19e0 100644 --- a/源代码/StgSharp/Math/Linear/vec4d.cs +++ b/源代码/StgSharp/Math/Linear/vec4d.cs @@ -1,6 +1,6 @@ //----------------------------------------------------------------------- //----------------------------------------------------------------------- -// file="vec4d.cs" +// file="Vec4d.cs" // Project: StgSharp // AuthorGroup: Nitload Space // Copyright (c) Nitload Space. All rights reserved. @@ -28,7 +28,8 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + +using StgSharp.Data; using StgSharp.Math; using System; @@ -42,26 +43,41 @@ namespace StgSharp.Math public static class Vec4d { + public static vec4d One + { + get => new vec4d(Vector4.One); + } + public static vec4d Zero + { + get => new vec4d(Vector4.Zero); + } + } [StructLayout(LayoutKind.Explicit, Size = 16, Pack = 16)] - public struct vec4d + public struct vec4d : IEquatable, IVector { + [FieldOffset(0)] internal unsafe fixed float num[4]; + [FieldOffset(0)] internal M128 reg; [FieldOffset(0)] internal Vector4 vec; - - [FieldOffset(0)] internal unsafe fixed float num[4]; + [FieldOffset(12)] public float W; [FieldOffset(0)] public float X; [FieldOffset(4)] public float Y; [FieldOffset(8)] public float Z; - [FieldOffset(12)] public float W; - public override string ToString() + internal vec4d(Vector4 v) { - return vec.ToString(); + vec = v; + } + + public vec4d(vec3d v, float w) + { + vec = v.vec; + W = w; } public vec4d(float x, float y, float z, float w) @@ -69,22 +85,95 @@ namespace StgSharp.Math vec = new Vector4(x, y, z, w); } + public unsafe vec3d XYZ + { + get => new vec3d(vec); + set + { + float w = W; + vec = value.vec; + W = w; + } + } + public unsafe vec2d XY + { + get => new vec2d(vec); + set + { + X = value.X; + Y = value.Y; + } + } + + public override bool Equals(object obj) + { + return (obj is vec4d v) ? (v == this) : false; + } + + public override int GetHashCode() + { + return vec.GetHashCode(); + } + + public override string ToString() + { + return vec.ToString(); + } + + public static bool operator !=(vec4d left, vec4d right) + { + return !(left == right); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static vec4d operator *(Matrix44 mat, vec4d vec) + { + mat.InternalTranspose(); + return new vec4d( + Vector4.Dot(mat.transpose.colum0, vec.vec), + Vector4.Dot(mat.transpose.colum1, vec.vec), + Vector4.Dot(mat.transpose.colum2, vec.vec), + Vector4.Dot(mat.transpose.colum3, vec.vec) + ); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static vec4d operator +(vec4d left, vec4d right) + { + return new vec4d(left.vec + right.vec); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static vec4d operator -(vec4d left, vec4d right) + { + return new vec4d(left.vec - right.vec); + } + + public static bool operator ==(vec4d left, vec4d right) + { + return left.vec == right.vec; + } + public static implicit operator M128(vec4d vec) { return vec.reg; } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static vec4d operator *(Matrix44 mat, vec4d vec) + bool IEquatable.Equals(vec4d other) { - mat.InternalTranspose(); - return new vec4d( - Vector4.Dot( mat.transpose.colum0,vec.vec), - Vector4.Dot( mat.transpose.colum1, vec.vec), - Vector4.Dot( mat.transpose.colum2, vec.vec), - Vector4.Dot( mat.transpose.colum3, vec.vec) - ); + return vec == other.vec; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static vec4d Subtract(vec4d left, vec4d right) + { + return left - right; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static vec4d Add(vec4d left, vec4d right) + { + return left + right; + } } } \ No newline at end of file diff --git a/源代码/StgSharp/Math/Scalar/Random.cs b/源代码/StgSharp/Math/Scalar/Random.cs index 98937cb7..5567870d 100644 --- a/源代码/StgSharp/Math/Scalar/Random.cs +++ b/源代码/StgSharp/Math/Scalar/Random.cs @@ -28,7 +28,7 @@ // //----------------------------------------------------------------------- //----------------------------------------------------------------------- -using StgSharp.Controlling; + using StgSharp.Math.HighPrecession; using System; diff --git a/源代码/StgSharp/Resources/Collisionfs.txt b/源代码/StgSharp/Resources/Collisionfs.txt new file mode 100644 index 00000000..e69de29b diff --git a/源代码/StgSharp/Stg/Bullet.cs b/源代码/StgSharp/Stg/Bullet.cs index 251dbdf7..ea082de0 100644 --- a/源代码/StgSharp/Stg/Bullet.cs +++ b/源代码/StgSharp/Stg/Bullet.cs @@ -36,7 +36,7 @@ using System; namespace StgSharp.Gaming { - public abstract class Bullet : IInstancing, IPlainEntity + public abstract class Bullet : IInstancing, IPlainEntity { protected Bullet ( @@ -53,9 +53,9 @@ namespace StgSharp.Gaming } GlobalBuffer = buffer; BufferId = buffer.CreateInstanceID(); - ((IInstancing)this).Scale = scale; - ((IInstancing)this).Coord = new vec3d( beginPosition,0); - ((IInstancing)this).Rotation = angle; + ((IInstancing)this).Scale = scale; + ((IInstancing)this).Coord = new vec3d( beginPosition,0); + ((IInstancing)this).Rotation = angle; Motion = movement; } @@ -71,7 +71,7 @@ namespace StgSharp.Gaming set; } - public PlainInstancingBuffer GlobalBuffer + public IInstancingBuffer GlobalBuffer { get; set; @@ -83,10 +83,10 @@ namespace StgSharp.Gaming set; } - vec3d IInstancing.CenterPositionGlobal + vec3d IInstancing.CenterPositionGlobal { get; - set; + set; } public bool CollideWith(IPlainEntity entity) diff --git a/源代码/StgSharp/Stg/CollisionTexture.cs b/源代码/StgSharp/Stg/CollisionTexture.cs index ab8ba412..71fb90df 100644 --- a/源代码/StgSharp/Stg/CollisionTexture.cs +++ b/源代码/StgSharp/Stg/CollisionTexture.cs @@ -1,34 +1,112 @@ -using StgSharp.Graphics; +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="CollisionTexture.cs" +// Project: StgSharp +// AuthorGroup: Nitload Space +// Copyright (c) Nitload Space. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person +// obtaining a copy of this software and associated documentation +// files (the “Software”), to deal in the Software without restriction, +// including without limitation the rights to use, copy, modify, merge, +// publish, distribute, sublicense, and/or sell copies of the Software, +// and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and +// this permission notice shall be included in all copies +// or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, +// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH +// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +using StgSharp.Data; +using StgSharp.Geometries; +using StgSharp.Graphics; +using StgSharp.Graphics.GL; using StgSharp.Logic; +using StgSharp.Math; using System; +using System.Buffers; using System.Collections.Generic; using System.Linq; +using System.Resources; using System.Text; using System.Threading.Tasks; namespace StgSharp.Stg { - public class CollisionTexture : glRenderStream + public class CollisionTextureInput : BlueprintPipelineArgs { - string vertexShader = ""; - string fragmentShader = ""; - - public CollisionTexture(RenderStreamConstructArgs args) : base(args) +#pragma warning disable CS8618 + public CollisionTextureInput() +#pragma warning restore CS8618 { } + public new List Value + { + get; set; + } + + } + + public class OneDimensionalCollisionTexture2D : glRenderStream + { + + private const string inputName = "InstanceBufferList"; + private const string outputName = "CollisionTextureOutput"; + + private FrameBuffer fbo; + + ShaderProgram generatingShader; + + VertexArray vao; + VertexBuffer vbo; + ElementBuffer ebo; + + public OneDimensionalCollisionTexture2D(RenderStreamConstructArgs args) : base(args) + { + throw new InvalidOperationException( + $"Collision TextureGL unit cannot share context with other render stream or set as mainstream of a form,{($"and cannot be inited by {typeof(RenderStreamConstructArgs).Name} as well.")}" + ); + } + +#pragma warning disable CS8618 + public OneDimensionalCollisionTexture2D(Radius angleStride, string name) : +#pragma warning restore CS8618 + base(new RenderStreamConstructArgs + { + Height = 1, + Width = (int)((new Radius(Scaler.Pi)) / angleStride), + UnitCubeSize = (1, 1, 1), + Name = name + }) + { + InternalInit(); + } + protected override string[] InputPortsName => [ - "InstanceBufferList", + inputName, ]; - protected override string[] OutputPortsName => + protected override string[] OutputPortsName => [ - "" + outputName, ]; + protected override void Deinit() { throw new NotImplementedException(); @@ -36,19 +114,104 @@ namespace StgSharp.Stg protected override void Init() { - throw new NotImplementedException(); + generatingShader = CreateShaderProgram(); + + Shader vertexShader = CreateShaderSegment(ShaderType.Vertex, 1); + Shader fragmentShader = CreateShaderSegment(ShaderType.Fragment, 1); + + vertexShader.Compile(0, InternalIO.CollisionTextureVertexShader); + fragmentShader.Compile(0, InternalIO.CollisionTextureFragmentShader); + vertexShader.AttachTo(0, generatingShader); + fragmentShader.AttachTo(0, generatingShader); + + generatingShader.Link(); + generatingShader.Use(); + + vbo = CreateVertexBuffer(3); + vao = CreateVertexArray(1); + ebo = CreateElementBuffer(1); + + + fbo = CreateFrameBuffer(1); + RenderBuffer rbo = CreateRenderBuffer(1); + glFunc.SetRenderBufferStorage( + RenderBufferInternalFormat.Depth24_Stencil8, this.Size); + + + t = CreateTexture(1); + t.Bind2D(0); + glFunc.TextureImage2d(Texture2DTarget.Texture2D, 0, (int)ImageChannel.WithAlphaChannel, + (uint)Width, (uint)Height, (int)ImageChannel.WithAlphaChannel, ImageChannelLayout.Byte, glHandle.ZeroHandle); + + t.Set2dWrapProperty(Wrap.Repeat, Wrap.Repeat); + t.Set2dFilterProperty(Filter.Nearest, Filter.Nearest); + + glFunc.FrameBufferTexture2d(FrameBufferTarget.All, glAttachment.Color(0), + Texture2DTarget.Texture2D, t[0], 0); + + glFunc.CombineFrameBufferRenderBuffer(fbo[0], rbo[0]); + + textureOutput = new float[this.Width]; } + TextureGL t; + float[] textureOutput; + protected override void Main( - in Dictionary input, + in Dictionary input, in Dictionary output) { - throw new NotImplementedException(); + if (input == null) + { + throw new InvalidOperationException($"Unknown operation lead to null ref of {nameof(input)}"); + } + if (input[inputName].Args is not CollisionTextureInput inpipeline || inpipeline.Value == null || inpipeline.Value.Count == 0) + { + throw new InvalidOperationException(); + } + List bufferList = inpipeline.Value; + + fbo.Bind(0); + glFunc.ClearColor(0, 0, 0, 1); + glFunc.Clear(MaskBufferBit.DEPTH|MaskBufferBit.COLOR); + generatingShader.Use(); + vao.Bind(0); + + foreach (IInstancingBuffer item in bufferList) + { + IGeometry g = item.TypicalShape; + + if (!(g is PlainGeometry)) + { + throw new InvalidOperationException("The current particle buffer contains non-planar geometry,"); + } + + ebo.Bind(0); + ebo.SetValue(0,g.VertexIndices,BufferUsage.StreamDraw); + + vbo.WriteVectorData(0,item.CoordAndRotationSpan,BufferUsage.StreamDraw); + VertexArray.SetVertexAttribute(1,3,TypeCode.Single,false, 4 * sizeof(float), 0); + VertexArray.SetVertexAttribute(2,1, TypeCode.Single,false,4*sizeof(float), 3 * sizeof(float)); + + vbo.WriteScalerData(2, item.ScalingSpan, BufferUsage.StreamDraw); + VertexArray.SetVertexAttribute(3, 1, TypeCode.Single, false, sizeof(float), 0); + + vbo.WriteVectorData(1,g.VertexStream,BufferUsage.StreamDraw); + VertexArray.SetVertexAttribute(0,3,TypeCode.Single,false,4*sizeof(float),0); + + glFunc.DrawElementsInstanced(GeometryType.TRIANGLES,(uint)g.VertexIndices.Length / 3, + TypeCode.UInt32,IntPtr.Zero,(uint)item.ScalingSpan.Length); + } + + t.Bind2D(0); + glFunc.GetTextureImage(Texture2DTarget.Texture2D,0,ImageChannel.SingleColor,ImageChannelLayout.Float,ref textureOutput); + VertexArray.BindNull(); } protected override void ProcessInput() { throw new NotImplementedException(); } + } } diff --git a/源代码/StgSharp/Stg/TimeLine.cs b/源代码/StgSharp/Stg/TimeLine.cs new file mode 100644 index 00000000..ed3ce54c --- /dev/null +++ b/源代码/StgSharp/Stg/TimeLine.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Stg +{ + public class TimeLine + { + } +} diff --git a/源代码/StgSharp/Stg/Touhou/TouhouBuilder.cs b/源代码/StgSharp/Stg/Touhou/TouhouBuilder.cs new file mode 100644 index 00000000..a1743a12 --- /dev/null +++ b/源代码/StgSharp/Stg/Touhou/TouhouBuilder.cs @@ -0,0 +1,27 @@ +using StgSharp.Graphics; +using StgSharp.Touhou; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Stg.Touhou +{ + public static class TouhouBuilder + { + + + + public static ViewModel BuildTouhouWorld() + { + + TouhouForm form = new TouhouForm(); + + + + return form; + } + + + } +} diff --git a/源代码/StgSharp/Stg/Touhou/TouhouWindow.cs b/源代码/StgSharp/Stg/Touhou/TouhouWindow.cs new file mode 100644 index 00000000..28b7ed41 --- /dev/null +++ b/源代码/StgSharp/Stg/Touhou/TouhouWindow.cs @@ -0,0 +1,18 @@ +using StgSharp.Graphics; + +using System; +using System.Collections.Generic; +using System.Text; + +namespace StgSharp.Touhou +{ + public class TouhouForm:ViewModel + { + public TouhouForm(): + base() + { + + } + + } +} diff --git a/源代码/StgSharp/StgSharp.csproj b/源代码/StgSharp/StgSharp.csproj index 2c040058..47c21837 100644 --- a/源代码/StgSharp/StgSharp.csproj +++ b/源代码/StgSharp/StgSharp.csproj @@ -107,7 +107,6 @@ Linux - @@ -121,8 +120,24 @@ + + + + + + $(ColiisionTextureVertexShader) + $(ColiisionTextureFragmentShader) + + + + + + + + + diff --git a/源代码/StgSharp/obj/StgSharp.csproj.nuget.dgspec.json b/源代码/StgSharp/obj/StgSharp.csproj.nuget.dgspec.json index 57901e79..dea25730 100644 --- a/源代码/StgSharp/obj/StgSharp.csproj.nuget.dgspec.json +++ b/源代码/StgSharp/obj/StgSharp.csproj.nuget.dgspec.json @@ -76,7 +76,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205\\RuntimeIdentifierGraph.json" } } } diff --git a/源代码/StgSharp/obj/project.assets.json b/源代码/StgSharp/obj/project.assets.json index f16a3195..7c9c5ab7 100644 --- a/源代码/StgSharp/obj/project.assets.json +++ b/源代码/StgSharp/obj/project.assets.json @@ -478,7 +478,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.205\\RuntimeIdentifierGraph.json" } } } diff --git a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs index ac2f170f..0893e213 100644 --- a/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs +++ b/源代码/StgSharp/obj/x64/Release/netstandard2.1/StgSharp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a3506c96a3f6c7df608c22594ca2eaec41efa511")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2e57126ab72b0065e6ff52c0a2d1c9425307043e")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

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