فهرست منبع

Fixed conflict of types for c++ with OpenGLTokens

GLScene 5 سال پیش
والد
کامیت
73f1341a22

+ 231 - 110
Packages/GLScene_Cg_DT.dproj

@@ -208,20 +208,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
@@ -234,10 +226,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
@@ -250,10 +238,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
@@ -261,10 +245,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
@@ -277,200 +257,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
@@ -540,9 +440,6 @@
                     <Platform Name="Android">
                         <Operation>0</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                     </Platform>
@@ -573,6 +470,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1024x768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -584,6 +492,39 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1536x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668x2388">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -595,6 +536,61 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch2048x1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048x2732">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2224">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2388x1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2732x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -616,6 +612,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch768x1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -626,6 +633,105 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch1125">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1136x640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242x2688">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1334">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1792">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2208">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2436">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2688x1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -679,6 +785,28 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch750">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch828">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -703,9 +831,6 @@
                     <Platform Name="Android">
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
@@ -750,10 +875,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                     </Platform>

+ 231 - 110
Packages/GLScene_DT.dproj

@@ -226,20 +226,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
@@ -252,10 +244,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
@@ -268,10 +256,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
@@ -279,10 +263,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
@@ -295,200 +275,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
@@ -558,9 +458,6 @@
                     <Platform Name="Android">
                         <Operation>0</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                     </Platform>
@@ -591,6 +488,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1024x768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -602,6 +510,39 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1536x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668x2388">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -613,6 +554,61 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch2048x1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048x2732">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2224">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2388x1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2732x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -634,6 +630,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch768x1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -644,6 +651,105 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch1125">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1136x640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242x2688">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1334">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1792">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2208">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2436">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2688x1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -697,6 +803,28 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch750">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch828">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -721,9 +849,6 @@
                     <Platform Name="Android">
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
@@ -768,10 +893,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                     </Platform>

+ 231 - 110
Packages/GLScene_Physics_DT.dproj

@@ -170,20 +170,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
@@ -196,10 +188,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
@@ -212,10 +200,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
@@ -223,10 +207,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
@@ -239,200 +219,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
@@ -502,9 +402,6 @@
                     <Platform Name="Android">
                         <Operation>0</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                     </Platform>
@@ -535,6 +432,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1024x768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -546,6 +454,39 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1536x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668x2388">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -557,6 +498,61 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch2048x1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048x2732">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2224">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2388x1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2732x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -578,6 +574,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch768x1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -588,6 +595,105 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch1125">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1136x640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242x2688">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1334">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1792">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2208">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2436">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2688x1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -641,6 +747,28 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch750">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch828">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -665,9 +793,6 @@
                     <Platform Name="Android">
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
@@ -712,10 +837,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                     </Platform>

+ 0 - 1
Packages/GLScene_RT.dpk

@@ -253,7 +253,6 @@ contains
   GLS.Memo in '..\Source\GLS.Memo.pas',
   GLS.PlugInManager in '..\Source\GLS.PlugInManager.pas',
   GLS.OpenGLx in '..\Source\GLS.OpenGLx.pas',
-  GLS.vclOpenGL in '..\Source\GLS.vclOpenGL.pas',
   GLTeapot in '..\Source\GLTeapot.pas',
   GLTerrainRenderer in '..\Source\GLTerrainRenderer.pas',
   GLTexCombineShader in '..\Source\GLTexCombineShader.pas',

+ 232 - 112
Packages/GLScene_RT.dproj

@@ -356,7 +356,6 @@
         <DCCReference Include="..\Source\GLS.Memo.pas"/>
         <DCCReference Include="..\Source\GLS.PlugInManager.pas"/>
         <DCCReference Include="..\Source\GLS.OpenGLx.pas"/>
-        <DCCReference Include="..\Source\GLS.vclOpenGL.pas"/>
         <DCCReference Include="..\Source\GLTeapot.pas"/>
         <DCCReference Include="..\Source\GLTerrainRenderer.pas"/>
         <DCCReference Include="..\Source\GLTexCombineShader.pas"/>
@@ -426,7 +425,7 @@
                 <Platform value="Win64">True</Platform>
             </Platforms>
             <Deployment Version="3">
-                <DeployFile LocalName="C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\GLScene_RT.bpl" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName="C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\GLScene_RT.bpl" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
                         <RemoteName>GLScene_RT.bpl</RemoteName>
                         <Overwrite>true</Overwrite>
@@ -451,20 +450,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
@@ -477,10 +468,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
@@ -493,10 +480,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
@@ -504,10 +487,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
@@ -520,200 +499,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
@@ -783,9 +682,6 @@
                     <Platform Name="Android">
                         <Operation>0</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                     </Platform>
@@ -816,6 +712,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1024x768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -827,6 +734,39 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1536x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668x2388">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -838,6 +778,61 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch2048x1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048x2732">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2224">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2388x1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2732x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -859,6 +854,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch768x1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -869,6 +875,105 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch1125">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1136x640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242x2688">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1334">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1792">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2208">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2436">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2688x1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -922,6 +1027,28 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch750">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch828">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -946,9 +1073,6 @@
                     <Platform Name="Android">
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
@@ -993,10 +1117,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                     </Platform>

+ 231 - 110
Packages/GLScene_Sounds_DT.dproj

@@ -167,20 +167,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
@@ -193,10 +185,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
@@ -209,10 +197,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
@@ -220,10 +204,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
@@ -236,200 +216,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
@@ -499,9 +399,6 @@
                     <Platform Name="Android">
                         <Operation>0</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                     </Platform>
@@ -532,6 +429,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1024x768">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -543,6 +451,39 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch1536x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch1668x2388">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
@@ -554,6 +495,61 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch2048x1536">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2048x2732">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2224">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2388x1668">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2732x2048">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -575,6 +571,17 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPad_Launch768x1024">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -585,6 +592,105 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch1125">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1136x640">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1242x2688">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1334">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch1792">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2208">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2436">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2688x1242">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -638,6 +744,28 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
+                <DeployClass Name="iPhone_Launch750">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch828">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -662,9 +790,6 @@
                     <Platform Name="Android">
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
@@ -709,10 +834,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                     </Platform>

+ 30 - 29
Source/GLCanvas.pas

@@ -72,92 +72,93 @@ type
       const baseTransform: TMatrix); overload;
     constructor Create(bufferSizeX, bufferSizeY: Integer); overload;
     destructor Destroy; override;
-    { Stops the current internal primitive.
+    (* Stops the current internal primitive.
       This function is invoked automatically by TGLCanvas when changeing
       primitives, you should directly call if you want to render your
       own stuff intertwined with TGLCanvas drawings. In that case, call
-      it before your own OpenGL calls. }
+      it before your own OpenGL calls. *)
     procedure StopPrimitive;
-    { Inverts the orientation of the Y Axis.
+    (* Inverts the orientation of the Y Axis.
       If (0, 0) was in the top left corner, it will move to the bottom
-      left corner or vice-versa. }
+      left corner or vice-versa. *)
     procedure InvertYAxis;
     property CanvasSizeX: Integer read FBufferSizeX;
     property CanvasSizeY: Integer read FBufferSizeY;
-    {Current Pen Color. }
+    // Current Pen Color. 
     property PenColor: TColor read FPenColor write SetPenColor;
-    {Current Pen Alpha channel (from 0.0 to 1.0) }
+    // Current Pen Alpha channel (from 0.0 to 1.0) 
     property PenAlpha : Single read GetPenAlpha write SetPenAlpha;
-    {Current Pen Width. }
+    // Current Pen Width. 
     property PenWidth: Integer read FPenWidth write SetPenWidth;
-    {Updates the current position (absolute coords). }
+    // Updates the current position (absolute coords). 
     procedure MoveTo(const x, y: Integer); overload;
     procedure MoveTo(const x, y: Single); overload;
-    {Updates the current position (relative coords). }
+    // Updates the current position (relative coords). 
     procedure MoveToRel(const x, y: Integer); overload;
     procedure MoveToRel(const x, y: Single); overload;
-    {Draws a line from current position to given coordinate.
-     Current position is updated. }
+    (* Draws a line from current position to given coordinate.
+     Current position is updated. *)
     procedure LineTo(const x, y: Integer); overload;
     procedure LineTo(const x, y: Single); overload;
     procedure LineToRel(const x, y: Integer); overload;
     procedure LineToRel(const x, y: Single); overload;
-    {Draws a line from (x1, y1) to (x2, y2).
-     The current position is NOT updated. }
+    (* Draws a line from (x1, y1) to (x2, y2).
+     The current position is NOT updated. *)
     procedure Line(const x1, y1, x2, y2: Integer); overload;
     procedure Line(const x1, y1, x2, y2: Single); overload;
-    {Draws the set of lines defined by connecting the points.
+    (* Draws the set of lines defined by connecting the points.
        Similar to invoking MoveTo on the first point, then LineTo
-       on all the following points. }
+       on all the following points. *)
     procedure Polyline(const points: array of TPoint);
-    {Similar to Polyline but also connects the last point to the first. }
+    // Similar to Polyline but also connects the last point to the first. 
     procedure Polygon(const points: array of TPoint);
-    {Plots a pixel at given coordinate. PenWidth affects pixel size.
-     The current position is NOT updated. }
+    (* Plots a pixel at given coordinate. PenWidth affects pixel size.
+     The current position is NOT updated. *)
     procedure PlotPixel(const x, y: Integer); overload;
     procedure PlotPixel(const x, y: Single); overload;
-    {Draw the (x1,y1)-(x2, y2) rectangle's frame (border). }
+    // Draw the (x1,y1)-(x2, y2) rectangle's frame (border). 
     procedure FrameRect(const x1, y1, x2, y2: Integer); overload;
     procedure FrameRect(const x1, y1, x2, y2: Single); overload;
-    {Draw the (x1,y1)-(x2, y2) rectangle (filled with PenColor). }
+    // Draw the (x1,y1)-(x2, y2) rectangle (filled with PenColor). 
     procedure FillRect(const x1, y1, x2, y2: Integer); overload;
     procedure FillRect(const x1, y1, x2, y2: Single); overload;
-    {Draw the (x1,y1)-(x2, y2) rectangle (filled with given gradient's color). }
+    // Draw the (x1,y1)-(x2, y2) rectangle (filled with given gradient's color). 
     procedure FillRectGradient(const x1, y1, x2, y2: Single;
       const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TColorVector); overload;
     procedure FillRectGradient(const x1, y1, x2, y2: Integer;
       const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TColorVector); overload;
-    {Draws an ellipse with (x1,y1)-(x2, y2) bounding rectangle. }
+    // Draws an ellipse with (x1,y1)-(x2, y2) bounding rectangle. 
     procedure EllipseBB(const x1, y1, x2, y2: Integer); overload;
     procedure EllipseBB(const x1, y1, x2, y2: Single); overload;
-    {Draws and ellipse centered at (x, y) with given radiuses. }
+    // Draws and ellipse centered at (x, y) with given radiuses. 
     procedure Ellipse(const x, y: Integer; const xRadius, yRadius: Single); overload;
     procedure Ellipse(const x, y: Single; const xRadius, yRadius: Single); overload;
     procedure Ellipse(const x, y: Single; const Radius: Single); overload;
-    {Draw a filled ellipse. }
+    // Draw a filled ellipse. 
     procedure FillEllipse(const x, y: Integer; const xRadius, yRadius: Single); overload;
     procedure FillEllipse(const x, y: Single; const xRadius, yRadius: Single); overload;
     procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
-    {Draw a filled gradient ellipse.
-    OpenGL will use the last PenColor and PenAlpha as the center color and do gradient to edge of ellipse using the edgeColor parameter. }
+    (* Draw a filled gradient ellipse.
+    OpenGL will use the last PenColor and PenAlpha as the center color and do gradient 
+	to edge of ellipse using the edgeColor parameter. *)
     procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single;
       const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y: Integer;
       const xRadius, yRadius: Integer; const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y, Radius: Single;
       const edgeColor: TColorVector); overload;
-    {Draw an elliptical arc.
+    (* Draw an elliptical arc.
        The points (x1, y1) and (x2, y2) specify the bounding rectangle.
        An ellipse formed by the specified bounding rectangle defines the curve of the arc.
        The arc extends in the current drawing direction from the point where it intersects the radial from the center of the bounding rectangle to the (x3, y3) point.
        The arc ends where it intersects the radial from the center of the bounding rectangle to the (x4, y4) point.
        If the starting point and ending point are the same, a complete ellipse is drawn.
        Use the ArcDirection property to get and set the current drawing direction for a device context.
-       The default drawing direction is counterclockwise. }
+       The default drawing direction is counterclockwise. *)
     procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;
     procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
     procedure Arc(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;
-    {Same as Arc but update the current position. }
+    // Same as Arc but update the current position. 
     procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;
     procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
     procedure ArcTo(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;

+ 121 - 122
Source/GLContext.pas

@@ -23,6 +23,7 @@ uses
 {$IFDEF USE_SERVICE_CONTEXT}
   GLSGenerics,
 {$ENDIF}
+
   OpenGLTokens,
   OpenGLAdapter,
   XOpenGL,
@@ -36,7 +37,7 @@ uses
 
 // Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)
 const
-  MRT_BUFFERS: array [0 .. 3] of Cardinal = (GL_FRONT_LEFT, GL_AUX0, GL_AUX1, GL_AUX2);
+  MRT_BUFFERS: array [0 .. 3] of TGLuint = (GL_FRONT_LEFT, GL_AUX0, GL_AUX1, GL_AUX2);
 
 type
   TGLRCOption = (rcoDoubleBuffered, rcoStereo, rcoDebug, rcoOGL_ES);
@@ -107,8 +108,8 @@ type
     procedure SetActive(const aActive: Boolean); inline;
     procedure SetLayer(const Value: TGLContextLayer); inline;
   protected
-    FGL: TGLExtensionsAndEntryPoints;
-    FXGL: TGLMultitextureCoordinator;
+    Fgl: TGLExtensionsAndEntryPoints;
+    Fxgl: TGLMultitextureCoordinator;
     FGLStates: TGLStateCache;
     FTransformation: TGLTransformation;
     FAcceleration: TGLContextAcceleration;
@@ -198,8 +199,8 @@ type
     procedure DestroyAllHandles;
     function RenderOutputDevice: Pointer; virtual; abstract;
     // Access to OpenGL command and extension
-    property GL: TGLExtensionsAndEntryPoints read FGL;
-    property MultitextureCoordinator: TGLMultitextureCoordinator read FXGL;
+    property GL: TGLExtensionsAndEntryPoints read Fgl;
+    property MultitextureCoordinator: TGLMultitextureCoordinator read Fxgl;
     property IsPraparationNeed: Boolean read FIsPraparationNeed;
   end;
 
@@ -216,15 +217,15 @@ type
     FWidth, FHeight: Integer;
     FFullScreen: Boolean;
   public
-    property width: Integer read FWidth write FWidth;
-    property height: Integer read FHeight write FHeight;
+    property Width: Integer read FWidth write FWidth;
+    property Height: Integer read FHeight write FHeight;
     property FullScreen: Boolean read FFullScreen write FFullScreen;
   end;
 
   PGLRCHandle = ^TGLRCHandle;
   TGLRCHandle = record
     FRenderingContext: TGLContext;
-    FHandle: Cardinal;
+    FHandle: TGLuint;
     FChanged: Boolean;
   end;
 
@@ -239,7 +240,7 @@ type
     FHandles: TList;
     FLastHandle: PGLRCHandle;
     FOnPrepare: TOnPrepareHandleData;
-    function GetHandle: Cardinal; inline;
+    function GetHandle: TGLuint; inline;
     function GetContext: TGLContext;
     function SearchRC(aContext: TGLContext): PGLRCHandle;
     function RCItem(AIndex: Integer): PGLRCHandle; inline;
@@ -249,15 +250,15 @@ type
     procedure ContextDestroying;
     // Specifies if the handle can be transfered across shared contexts
     class function Transferable: Boolean; virtual;
-    class function IsValid(const ID: Cardinal): Boolean; virtual;
-    function DoAllocateHandle: Cardinal; virtual; abstract;
-    procedure DoDestroyHandle(var AHandle: Cardinal); virtual; abstract;
+    class function IsValid(const ID: TGLuint): Boolean; virtual;
+    function DoAllocateHandle: TGLuint; virtual; abstract;
+    procedure DoDestroyHandle(var AHandle: TGLuint); virtual; abstract;
   public
     constructor Create; virtual;
     constructor CreateAndAllocate(failIfAllocationFailed: Boolean = True);
     destructor Destroy; override;
     // Return OpenGL identifier in current context
-    property Handle: Cardinal read GetHandle;
+    property Handle: TGLuint read GetHandle;
     (* Return current rendering context if handle is allocated in it
       or first context where handle is allocated. *)
     property RenderingContext: TGLContext read GetContext;
@@ -273,13 +274,13 @@ type
     class function IsSupported: Boolean; virtual;
     function IsAllocatedForContext(aContext: TGLContext = nil): Boolean;
     function IsShared: Boolean;
-    function AllocateHandle: Cardinal;
+    function AllocateHandle: TGLuint;
     procedure DestroyHandle;
     property OnPrapare: TOnPrepareHandleData read FOnPrepare write FOnPrepare;
   end;
 
   TGLVirtualHandle = class;
-  TGLVirtualHandleEvent = procedure(Sender: TGLVirtualHandle; var Handle: Cardinal) of object;
+  TGLVirtualHandleEvent = procedure(Sender: TGLVirtualHandle; var Handle: TGLuint) of object;
 
   // A context handle with event-based handle allocation and destruction
   TGLVirtualHandle = class(TGLContextHandle)
@@ -287,8 +288,8 @@ type
     FOnAllocate, FOnDestroy: TGLVirtualHandleEvent;
     FTag: Integer;
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
     class function Transferable: Boolean; override;
   public
     property OnAllocate: TGLVirtualHandleEvent read FOnAllocate write FOnAllocate;
@@ -305,11 +306,11 @@ type
   // Manages a handle to a display list
   TGLListHandle = class(TGLContextHandle)
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
-    procedure NewList(mode: Cardinal); inline;
+    procedure NewList(mode: TGLuint); inline;
     procedure EndList; inline;
     procedure CallList; inline;
   end;
@@ -320,9 +321,9 @@ type
     FTarget: TGLTextureTarget;
     procedure SetTarget(ATarget: TGLTextureTarget);
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     property Target: TGLTextureTarget read FTarget write SetTarget;
   end;
@@ -330,9 +331,9 @@ type
   // Manages a handle to a sampler
   TGLSamplerHandle = class(TGLContextHandle)
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
 
     class function IsSupported: Boolean; override;
@@ -345,11 +346,11 @@ type
     FActive: Boolean;
   protected
     class function Transferable: Boolean; override;
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    function GetTarget: Cardinal; virtual; abstract;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    function GetTarget: TGLuint; virtual; abstract;
     function GetQueryType: TGLQueryType; virtual; abstract;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     procedure BeginQuery;
     procedure EndQuery;
@@ -359,12 +360,12 @@ type
     // Number of bits used to store the query result. eg. 32/64 bit
     function CounterBits: Integer;
     // Retrieve query result, may cause a stall if the result is not available yet
-    function QueryResultInt: TGLInt;
-    function QueryResultUInt: Cardinal;
+    function QueryResultInt: TGLint;
+    function QueryResultUInt: TGLUInt;
     function QueryResultInt64: TGLint64EXT;
     function QueryResultUInt64: TGLuint64EXT;
     function QueryResultBool: TGLboolean;
-    property Target: Cardinal read GetTarget;
+    property Target: TGLuint read GetTarget;
     property QueryType: TGLQueryType read GetQueryType;
     // True if within a Begin/EndQuery.
     property Active: Boolean read FActive;
@@ -376,7 +377,7 @@ type
     checked by the user. *)
   TGLOcclusionQueryHandle = class(TGLQueryHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
   public
     class function IsSupported: Boolean; override;
@@ -387,7 +388,7 @@ type
 
   TGLBooleanOcclusionQueryHandle = class(TGLQueryHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
   public
     class function IsSupported: Boolean; override;
@@ -399,7 +400,7 @@ type
     checked by the user. *)
   TGLTimerQueryHandle = class(TGLQueryHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
   public
     class function IsSupported: Boolean; override;
@@ -415,7 +416,7 @@ type
     checked by the user. *)
   TGLPrimitiveQueryHandle = class(TGLQueryHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
   public
     class function IsSupported: Boolean; override;
@@ -431,30 +432,30 @@ type
   private
     FSize: Integer;
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    function GetTarget: Cardinal; virtual; abstract;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    function GetTarget: TGLuint; virtual; abstract;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     // Creates the buffer object buffer and initializes it.
-    constructor CreateFromData(p: Pointer; size: Integer; bufferUsage: Cardinal);
+    constructor CreateFromData(p: Pointer; size: Integer; bufferUsage: TGLuint);
     procedure Bind; virtual; abstract;
     // Note that it is not necessary to UnBind before Binding another buffer.
     procedure UnBind; virtual; abstract;
     (* Bind a buffer object to an indexed target, used by transform feedback
       buffer objects and uniform buffer objects. (OpenGL 3.0+) *)
-    procedure BindRange(index: Cardinal; offset: TGLintptr; size: TGLsizeiptr); virtual;
+    procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); virtual;
     // Equivalent to calling BindRange with offset = 0, and size = the size of buffer.
-    procedure BindBase(index: Cardinal); virtual;
-    procedure UnBindBase(index: Cardinal); virtual;
+    procedure BindBase(index: TGLuint); virtual;
+    procedure UnBindBase(index: TGLuint); virtual;
     (* Specifies buffer content.
       Common bufferUsage values are GL_STATIC_DRAW_ARB for data that will
       change rarely, but be used often, GL_STREAM_DRAW_ARB for data specified
       once but used only a few times, and GL_DYNAMIC_DRAW_ARB for data
       that is re-specified very often. Valid only if the buffer has been bound. *)
-    procedure BufferData(p: Pointer; size: Integer; bufferUsage: Cardinal);
+    procedure BufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);
     // Invokes Bind then BufferData
-    procedure BindBufferData(p: Pointer; size: Integer; bufferUsage: Cardinal);
+    procedure BindBufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);
     (* Updates part of an already existing buffer.
       offset and size indicate which part of the data in the buffer is
       to bo modified and p where the data should be taken from. *)
@@ -464,14 +465,14 @@ type
       GL_READ_WRITE_ARB.
       Valid only if the buffer has been bound, must be followed by
       an UnmapBuffer, only one buffer may be mapped at a time. *)
-    function MapBuffer(access: Cardinal): Pointer;
-    function MapBufferRange(offset: TGLInt; len: TGLsizei; access: TGLbitfield): Pointer;
-    procedure Flush(offset: TGLInt; len: TGLsizei);
+    function MapBuffer(access: TGLuint): Pointer;
+    function MapBufferRange(offset: TGLint; len: TGLsizei; access: TGLbitfield): Pointer;
+    procedure Flush(offset: TGLint; len: TGLsizei);
     (* Unmap buffer content from memory.
       Must follow a MapBuffer, and happen before the buffer is unbound. *)
     function UnmapBuffer: Boolean;
     class function IsSupported: Boolean; override;
-    property Target: Cardinal read GetTarget;
+    property Target: TGLuint read GetTarget;
     property BufferSize: Integer read FSize;
   end;
 
@@ -481,15 +482,15 @@ type
     Do not use this class directly, use one of its subclasses instead. *)
   TGLVBOHandle = class(TGLBufferObjectHandle)
   private
-    function GetVBOTarget: Cardinal;
+    function GetVBOTarget: TGLuint;
   public
-    property VBOTarget: Cardinal read GetVBOTarget;
+    property VBOTarget: TGLuint read GetVBOTarget;
   end;
 
   // Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.
   TGLVBOArrayBufferHandle = class(TGLVBOHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
@@ -498,7 +499,7 @@ type
   // Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.
   TGLVBOElementArrayHandle = class(TGLVBOHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
@@ -508,7 +509,7 @@ type
     When bound, commands such as ReadPixels write their data into a buffer object. *)
   TGLPackPBOHandle = class(TGLBufferObjectHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
@@ -520,7 +521,7 @@ type
     their data from a buffer object *)
   TGLUnpackPBOHandle = class(TGLBufferObjectHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
@@ -536,15 +537,15 @@ type
     // FTransformFeedbackBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     // FTransformFeedbackBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
-    procedure BeginTransformFeedback(primitiveMode: Cardinal);
+    procedure BeginTransformFeedback(primitiveMode: TGLuint);
     procedure EndTransformFeedback();
-    procedure BindRange(index: Cardinal; offset: TGLintptr; size: TGLsizeiptr); override;
-    procedure BindBase(index: Cardinal); override;
-    procedure UnBindBase(index: Cardinal); override;
+    procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
+    procedure BindBase(index: TGLuint); override;
+    procedure UnBindBase(index: TGLuint); override;
 
     class function IsSupported: Boolean; override;
   end;
@@ -552,7 +553,7 @@ type
   // Manages a handle to a Buffer Texture. (TBO)
   TGLTextureBufferHandle = class(TGLBufferObjectHandle)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
@@ -563,17 +564,17 @@ type
     Uniform buffer objects store "uniform blocks"; groups of uniforms
     that can be passed as a group into a GLSL program *)
   TGLUniformBufferHandle = class(TGLBufferObjectHandle)
-    /// FUniformBufferBuffer: array[0..15] of Cardinal; // (0, 0, 0, ...)
+    /// FUniformBufferBuffer: array[0..15] of GLuint; // (0, 0, 0, ...)
     /// FUniformBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     /// FUniformBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
     procedure Bind; override;
     procedure UnBind; override;
-    procedure BindRange(index: Cardinal; offset: TGLintptr; size: TGLsizeiptr); override;
-    procedure BindBase(index: Cardinal); override;
-    procedure UnBindBase(index: Cardinal); override;
+    procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
+    procedure BindBase(index: TGLuint); override;
+    procedure UnBindBase(index: TGLuint); override;
     class function IsSupported: Boolean; override;
   end;
 
@@ -582,9 +583,9 @@ type
   TGLVertexArrayHandle = class(TGLContextHandle)
   protected
     class function Transferable: Boolean; override;
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     procedure Bind;
     procedure UnBind;
@@ -614,9 +615,9 @@ type
   TGLFramebufferHandle = class(TGLContextHandle)
   protected
     class function Transferable: Boolean; override;
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     // Bind framebuffer for both drawing + reading
     procedure Bind;
@@ -630,23 +631,22 @@ type
     procedure UnBindForReading;
     // target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (attach to both READ + DRAW)
     // attachment = COLOR_ATTACHMENTi, DEPTH_ATTACHMENT, STENCIL_ATTACHMENT, DEPTH_STENCIL_ATTACHMENT
-    procedure Attach1DTexture(Target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLInt);
-    procedure Attach2DTexture(Target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLInt);
-    procedure Attach3DTexture(Target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLInt;
-      Layer: TGLInt);
-    procedure AttachLayer(Target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLInt; Layer: TGLInt);
-    procedure AttachRenderBuffer(Target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal);
+    procedure Attach1DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);
+    procedure Attach2DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);
+    procedure Attach3DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
+    procedure AttachLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
+    procedure AttachRenderBuffer(Target: TGLuint; attachment: TGLuint; renderbuffertarget: TGLuint; renderbuffer: TGLuint);
     (* OpenGL 3.2+ only.
      If texture is the name of a three-dimensional texture, cube map texture, one-or
      two-dimensional array texture, or two-dimensional multisample array texture, the
      texture level attached to the framebuffer attachment point is an array of images,
      and the framebuffer attachment is considered layered *)
-    procedure AttachTexture(Target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLInt);
+    procedure AttachTexture(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint);
     // OpenGL 3.2+ only
-    procedure AttachTextureLayer(Target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLInt; Layer: TGLInt);
+    procedure AttachTextureLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
     // copy rect from bound read framebuffer to bound draw framebuffer
-    procedure Blit(srcX0: TGLInt; srcY0: TGLInt; srcX1: TGLInt; srcY1: TGLInt; dstX0: TGLInt; dstY0: TGLInt; dstX1: TGLInt;
-      dstY1: TGLInt; mask: TGLbitfield; filter: Cardinal);
+    procedure Blit(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint;
+      dstY1: TGLint; mask: TGLbitfield; filter: TGLuint);
     (* target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (equivalent to GL_DRAW_FRAMEBUFFER)
      If default framebuffer (0) is bound:
      attachment = GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, or GL_BACK_RIGHT, GL_DEPTH, GL_STENCIL
@@ -655,12 +655,12 @@ type
      param = GL_FRAMEBUFFER_ATTACHMENT_(OBJECT_TYPE, OBJECT_NAME,
      RED_SIZE, GREEN_SIZE, BLUE_SIZE, ALPHA_SIZE, DEPTH_SIZE, STENCIL_SIZE,
      COMPONENT_TYPE, COLOR_ENCODING, TEXTURE_LEVEL, LAYERED, TEXTURE_CUBE_MAP_FACE, TEXTURE_LAYER *)
-    function GetAttachmentParameter(Target: Cardinal; attachment: Cardinal; pname: Cardinal): TGLInt;
+    function GetAttachmentParameter(Target: TGLuint; attachment: TGLuint; pname: TGLuint): TGLint;
     (* Returns the type of object bound to attachment point:
      GL_NONE, GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER *)
-    function GetAttachmentObjectType(Target: Cardinal; attachment: Cardinal): TGLInt;
+    function GetAttachmentObjectType(Target: TGLuint; attachment: TGLuint): TGLint;
     // Returns the name (ID) of the texture or renderbuffer attached to attachment point
-    function GetAttachmentObjectName(Target: Cardinal; attachment: Cardinal): TGLInt;
+    function GetAttachmentObjectName(Target: TGLuint; attachment: TGLuint): TGLint;
     function GetStatus: TGLFramebufferStatus;
     function GetStringStatus(out clarification: string): TGLFramebufferStatus;
     class function IsSupported: Boolean; override;
@@ -672,14 +672,14 @@ type
     buffer types which have no corresponding texture format (stencil, accum, etc). *)
   TGLRenderbufferHandle = class(TGLContextHandle)
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     procedure Bind;
     procedure UnBind;
-    procedure SetStorage(internalformat: Cardinal; width, height: TGLsizei);
-    procedure SetStorageMultisample(internalformat: Cardinal; samples: TGLsizei; width, height: TGLsizei);
+    procedure SetStorage(internalformat: TGLuint; width, height: TGLsizei);
+    procedure SetStorageMultisample(internalformat: TGLuint; samples: TGLsizei; width, height: TGLsizei);
     class function IsSupported: Boolean; override;
   end;
 
@@ -688,10 +688,10 @@ type
     FReady: Boolean;
     FInfoLog: string;
   protected
-    function DoAllocateHandle: Cardinal; override;
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
-    class function GetTarget: Cardinal; virtual; abstract;
+    function DoAllocateHandle: TGLuint; override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
+    class function GetTarget: TGLuint; virtual; abstract;
   public
     procedure LoadARBProgram(const AText: string);
     procedure Enable;
@@ -703,21 +703,21 @@ type
 
   TGLARBVertexProgramHandle = class(TGLARBProgramHandle)
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
     class function IsSupported: Boolean; override;
   end;
 
   TGLARBFragmentProgramHandle = class(TGLARBProgramHandle)
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
     class function IsSupported: Boolean; override;
   end;
 
   TGLARBGeometryProgramHandle = class(TGLARBProgramHandle)
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
     class function IsSupported: Boolean; override;
   end;
@@ -726,7 +726,7 @@ type
     Do not use this class directly, use one of its subclasses instead *)
   TGLSLHandle = class(TGLContextHandle)
   protected
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
   public
     function InfoLog: string;
     class function IsSupported: Boolean; override;
@@ -738,15 +738,15 @@ type
     Do not use this class directly, use one of its subclasses instead *)
   TGLShaderHandle = class(TGLSLHandle)
   private
-    FShaderType: Cardinal;
+    FShaderType: TGLuint;
   protected
-    function DoAllocateHandle: Cardinal; override;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    function DoAllocateHandle: TGLuint; override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
     procedure ShaderSource(const source: AnsiString); overload;
     // Returns True if compilation sucessful
     function CompileShader: Boolean;
-    property ShaderType: Cardinal read FShaderType;
+    property ShaderType: TGLuint read FShaderType;
   end;
 
   TGLShaderHandleClass = class of TGLShaderHandle;
@@ -791,7 +791,7 @@ type
     checked by the user *)
   TGLProgramHandle = class(TGLSLHandle)
   public
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   private
     FName: string;
     function GetUniform1i(const index: string): Integer;
@@ -817,12 +817,12 @@ type
     function GetUniformMatrix4fv(const index: string): TMatrix;
     procedure SetUniformMatrix4fv(const index: string; const val: TMatrix);
     function GetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget)
-      : Cardinal;
+      : TGLuint;
     procedure SetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget;
-      const Value: Cardinal);
+      const Value: TGLuint);
     procedure SetUniformBuffer(const Index: string; Value: TGLUniformBufferHandle);
   protected
-    function DoAllocateHandle: Cardinal; override;
+    function DoAllocateHandle: TGLuint; override;
   public
     property Name: string read FName write FName;
     constructor Create; override;
@@ -868,7 +868,7 @@ type
     property UniformMatrix3fv[const index: string]: TMatrix3f read GetUniformMatrix3fv write SetUniformMatrix3fv;
     property UniformMatrix4fv[const index: string]: TMatrix read GetUniformMatrix4fv write SetUniformMatrix4fv;
     property UniformTextureHandle[const index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget]
-      : Cardinal read GetUniformTextureHandle write SetUniformTextureHandle;
+      : TGLuint read GetUniformTextureHandle write SetUniformTextureHandle;
     property UniformBuffer[const index: string]: TGLUniformBufferHandle write SetUniformBuffer;
   end;
 
@@ -957,13 +957,12 @@ var
   vIgnoreOpenGLErrors: Boolean = False;
   vContextActivationFailureOccurred: Boolean = False;
 
-{$IFNDEF USE_MULTITHREAD}
-
-var
-{$ELSE}
+{$IFDEF USE_MULTITHREAD}
   threadvar
+{$ELSE}
+  var
 {$ENDIF}
-    vCurrentGLContext: TGLContext;
+  vCurrentGLContext: TGLContext;
   GL: TGLExtensionsAndEntryPoints;
   xgl: TGLMultitextureCoordinator;
   vMainThread: Boolean;
@@ -2343,7 +2342,7 @@ begin
   vCurrentGLContext.GLStates.ElementBufferBinding := 0;
 end;
 
-function TGLVBOElementArrayHandle.GetTarget: Cardinal;
+function TGLVBOElementArrayHandle.GetTarget: TGLuint;
 begin
   Result := GL_ELEMENT_ARRAY_BUFFER;
 end;
@@ -2362,14 +2361,14 @@ begin
   vCurrentGLContext.GLStates.PixelPackBufferBinding := 0;
 end;
 
-function TGLPackPBOHandle.GetTarget: Cardinal;
+function TGLPackPBOHandle.GetTarget: TGLuint;
 begin
   Result := GL_PIXEL_PACK_BUFFER;
 end;
 
 class function TGLPackPBOHandle.IsSupported: Boolean;
 begin
-  Result := gl.ARB_pixel_buffer_object;
+  Result := GL.ARB_pixel_buffer_object;
 end;
 
 // ------------------
@@ -2410,13 +2409,13 @@ begin
   vCurrentGLContext.GLStates.TransformFeedbackBufferBinding := 0;
 end;
 
-function TGLTransformFeedbackBufferHandle.GetTarget: Cardinal;
+function TGLTransformFeedbackBufferHandle.GetTarget: TGLuint;
 begin
   Result := GL_TRANSFORM_FEEDBACK_BUFFER;
 end;
 
 procedure TGLTransformFeedbackBufferHandle.BeginTransformFeedback
-  (primitiveMode: Cardinal);
+  (primitiveMode: TGLuint);
 begin
   gl.BeginTransformFeedback(primitiveMode);
 end;
@@ -2443,7 +2442,7 @@ end;
 
 class function TGLTransformFeedbackBufferHandle.IsSupported: Boolean;
 begin
-  Result := gl.EXT_transform_feedback or gl.VERSION_3_0;
+  Result := GL.EXT_transform_feedback;
 end;
 
 // ------------------
@@ -2681,7 +2680,7 @@ end;
 
 function TGLFramebufferHandle.GetStatus: TGLFramebufferStatus;
 var
-  Status: Cardinal;
+  Status: TGLuint;
 begin
   Status := gl.CheckFramebufferStatus(GL_FRAMEBUFFER);
 

+ 0 - 1
Source/GLFullScreenViewer.pas

@@ -20,7 +20,6 @@ uses
   VCL.Menus,
 
   OpenGLTokens,
-  OpenGLAdapter,
   GLCrossPlatform,
   GLContext,
   GLScene,

+ 119 - 131
Source/GLMaterial.pas

@@ -29,11 +29,11 @@ uses
   GLPersistentClasses,
   GLState,
   GLTextureFormat, 
-  GLS.Strings, 
   XOpenGL,
-  GLApplicationFileIO, 
-  GLGraphics, 
+  GLApplicationFileIO,
+  GLGraphics,
   GLUtils,
+  GLS.Strings,
   GLS.Logger;
 
 {$UNDEF USE_MULTITHREAD}
@@ -52,16 +52,16 @@ type
   TGLAbstractLibMaterial = class;
   TGLLibMaterial = class;
 
-  {Define GLShader style application relatively to a material.
+  (* Define GLShader style application relatively to a material.
       ssHighLevel: shader is applied before material application, and unapplied
            after material unapplication
       ssLowLevel: shader is applied after material application, and unapplied
            before material unapplication
       ssReplace: shader is applied in place of the material (and material
-           is completely ignored)}
+           is completely ignored)*)
   TGLShaderStyle = (ssHighLevel, ssLowLevel, ssReplace);
 
-  {Defines what to do if for some reason shader failed to initialize.
+  (* Defines what to do if for some reason shader failed to initialize.
       fiaSilentdisable:          just disable it
       fiaRaiseHandledException:  raise an exception, and handle it right away
                                     (usefull, when debigging within Delphi)
@@ -75,17 +75,17 @@ type
       Note: HandleFailedInitialization does *not* create this event,
       it is left to user shaders which may chose to override this procedure.
       Commented out, because not sure if this option should exist,
-      let other generations of developers decide ;) }
+      let other generations of developers decide ;) *)
   TGLShaderFailedInitAction = (
     fiaSilentDisable, fiaRaiseStandardException, fiaRaiseHandledException,
     fiaReRaiseException {,fiaGenerateEvent});
 
-  {Generic, abstract shader class.
+  (* Generic, abstract shader class.
      Shaders are modeled here as an abstract material-altering entity with
      transaction-like behaviour. The base class provides basic context and user
      tracking, as well as setup/application facilities.
      Subclasses are expected to provide implementation for DoInitialize,
-     DoApply, DoUnApply and DoFinalize. }
+     DoApply, DoUnApply and DoFinalize. *)
   TGLShader = class(TGLUpdateAbleComponent)
   private
     FEnabled: Boolean;
@@ -96,71 +96,69 @@ type
     FShaderActive: Boolean;
     FFailedInitAction: TGLShaderFailedInitAction;
   protected
-    {Invoked once, before the first call to DoApply.
-     The call happens with the OpenGL context being active. }
+    (*Invoked once, before the first call to DoApply.
+      The call happens with the OpenGL context being active. *)
     procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); virtual;
-    {Request to apply the shader.
-       Always followed by a DoUnApply when the shader is no longer needed. }
+    (* Request to apply the shader.
+       Always followed by a DoUnApply when the shader is no longer needed. *)
     procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); virtual;
-    {Request to un-apply the shader.
+    (* Request to un-apply the shader.
        Subclasses can assume the shader has been applied previously.
-       Return True to request a multipass. }
+       Return True to request a multipass. *)
     function DoUnApply(var rci: TGLRenderContextInfo): Boolean; virtual;
-    {Invoked once, before the destruction of context or release of shader.
-       The call happens with the OpenGL context being active. }
+    (* Invoked once, before the destruction of context or release of shader.
+       The call happens with the OpenGL context being active. *)
     procedure DoFinalize; virtual;
     function GetShaderInitialized: Boolean;
     procedure InitializeShader(var rci: TGLRenderContextInfo; Sender: TObject);
     procedure FinalizeShader;
-    procedure OnVirtualHandleAllocate(sender: TGLVirtualHandle; var handle:
-      Cardinal);
-    procedure OnVirtualHandleDestroy(sender: TGLVirtualHandle; var handle:
-      Cardinal);
+    procedure OnVirtualHandleAllocate(sender: TGLVirtualHandle; var handle: Cardinal);
+    procedure OnVirtualHandleDestroy(sender: TGLVirtualHandle; var handle: Cardinal);
     procedure SetEnabled(val: Boolean);
     property ShaderInitialized: Boolean read GetShaderInitialized;
     property ShaderActive: Boolean read FShaderActive;
     procedure RegisterUser(libMat: TGLLibMaterial);
     procedure UnRegisterUser(libMat: TGLLibMaterial);
-    {Used by the DoInitialize procedure of descendant classes to raise errors. }
+    // Used by the DoInitialize procedure of descendant classes to raise errors. 
     procedure HandleFailedInitialization(const LastErrorMessage: string = '');
       virtual;
-    {May be this should be a function inside HandleFailedInitialization... }
+    // May be this should be a function inside HandleFailedInitialization... 
     function GetStardardNotSupportedMessage: string; virtual;
   public
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
-    {Subclasses should invoke this function when shader properties are altered.
-        This procedure can also be used to reset/recompile the shader. }
+    (* Subclasses should invoke this function when shader properties are altered.
+       This procedure can also be used to reset/recompile the shader. *)
     procedure NotifyChange(Sender: TObject); override;
     procedure BeginUpdate;
     procedure EndUpdate;
-    {Apply shader to OpenGL state machine.}
+    // Apply shader to OpenGL state machine.
     procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
-    {UnApply shader. 
+    (* UnApply shader. 
        When returning True, the caller is expected to perform a multipass
        rendering by re-rendering then invoking UnApply again, until a
-       "False" is returned. }
+       "False" is returned. *)
     function UnApply(var rci: TGLRenderContextInfo): Boolean;
-    {Shader application style (default is ssLowLevel). }
+    // Shader application style (default is ssLowLevel). 
     property ShaderStyle: TGLShaderStyle read FShaderStyle write FShaderStyle
       default ssLowLevel;
     procedure Assign(Source: TPersistent); override;
-    {Defines if shader is supported by hardware/drivers.
+    (* Defines if shader is supported by hardware/drivers.
        Default - always supported. Descendants are encouraged to override
-       this function. }
+       this function. *)
     function ShaderSupported: Boolean; virtual;
-    {Defines what to do if for some reason shader failed to initialize.
+    (* Defines what to do if for some reason shader failed to initialize.
        Note, that in some cases it cannon be determined by just checking the
        required OpenGL extentions. You need to try to compile and link the
-       shader - only at that stage you might catch an error }
+       shader - only at that stage you might catch an error *)
     property FailedInitAction: TGLShaderFailedInitAction
       read FFailedInitAction write FFailedInitAction default
       fiaRaiseStandardException;
   published
-      {Turns on/off shader application.
-         Note that this only turns on/off the shader application, if the
-         ShaderStyle is ssReplace, the material won't be applied even if
-         the shader is disabled. }
+     (* Turns on/off shader application.
+        Note that this only turns on/off the shader application, if the
+        ShaderStyle is ssReplace, the material won't be applied even if
+        the shader is disabled. *)
     property Enabled: Boolean read FEnabled write SetEnabled default True;
   end;
 
@@ -168,11 +166,11 @@ type
 
   TGLShininess = 0..128;
 
-  {Stores basic face lighting properties.
+  (* Stores basic face lighting properties.
      The lighting is described with the standard ambient/diffuse/emission/specular
      properties that behave like those of most rendering tools.
      You also have control over shininess (governs specular lighting) and
-     polygon mode (lines / fill). }
+     polygon mode (lines / fill). *)
   TGLFaceProperties = class(TGLUpdateAbleObject)
   private
     FAmbient, FDiffuse, FSpecular, FEmission: TGLColor;
@@ -218,31 +216,29 @@ type
     procedure Apply(var rci: TGLRenderContextInfo);
     procedure Assign(Source: TPersistent); override;
   published
-    {Specifies the mapping of the near clipping plane to
-       window coordinates.  The initial value is 0.  }
+    (* Specifies the mapping of the near clipping plane to
+       window coordinates.  The initial value is 0.  *)
     property ZNear: Single read FZNear write SetZNear stored StoreZNear;
-    {Specifies the mapping of the far clipping plane to
-       window coordinates.  The initial value is 1. }
+    (* Specifies the mapping of the far clipping plane to
+       window coordinates.  The initial value is 1. *)
     property ZFar: Single read FZFar write SetZFar stored StoreZFar;
-    {Specifies the function used to compare each
-      incoming pixel depth value with the depth value present in
-      the depth buffer. }
+    (* Specifies the function used to compare each
+       incoming pixel depth value with the depth value present in
+       the depth buffer. *)
     property DepthCompareFunction: TGLDepthFunction
       read FCompareFunc write SetCompareFunc default cfLequal;
-    {DepthTest enabling. 
+    (* DepthTest enabling. 
        When DepthTest is enabled, objects closer to the camera will hide
        farther ones (via use of Z-Buffering).
        When DepthTest is disabled, the latest objects drawn/rendered overlap
        all previous objects, whatever their distance to the camera.
        Even when DepthTest is enabled, objects may chose to ignore depth
-       testing through the osIgnoreDepthBuffer of their ObjectStyle property. }
+       testing through the osIgnoreDepthBuffer of their ObjectStyle property. *)
     property DepthTest: boolean read FDepthTest write SetDepthTest default True;
-    {If True, object will not write to Z-Buffer. }
-    property DepthWrite: boolean read FDepthWrite write SetDepthWrite default
-      True;
-    {Enable clipping depth to the near and far planes }
-    property DepthClamp: Boolean read FDepthClamp write SetDepthClamp default
-      False;
+    // If True, object will not write to Z-Buffer. 
+    property DepthWrite: boolean read FDepthWrite write SetDepthWrite default True;
+    // Enable clipping depth to the near and far planes 
+    property DepthClamp: Boolean read FDepthClamp write SetDepthClamp default False;
   end;
 
   TGLLibMaterialName = string;
@@ -308,8 +304,8 @@ type
 
   TGLFaceCulling = (fcBufferDefault, fcCull, fcNoCull);
 
-  {Control special rendering options for a material.
-     moIgnoreFog : fog is deactivated when the material is rendered }
+  (* Control special rendering options for a material.
+     moIgnoreFog : fog is deactivated when the material is rendered *)
   TGLMaterialOption = (moIgnoreFog, moNoLighting);
   TGLMaterialOptions = set of TGLMaterialOption;
 
@@ -336,7 +332,7 @@ type
     FFaceCulling: TGLFaceCulling;
     FPolygonMode: TGLPolygonMode;
     currentLibMaterial: TGLAbstractLibMaterial;
-    { Implementing IGLMaterialLibrarySupported.}
+    // Implementing IGLMaterialLibrarySupported.
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
   protected
     function GetBackProperties: TGLFaceProperties; inline;
@@ -363,27 +359,26 @@ type
     destructor Destroy; override;
     procedure PrepareBuildList;  inline;
     procedure Apply(var rci: TGLRenderContextInfo);
-    {Restore non-standard material states that were altered;
-       A return value of True is a multipass request. }
+    (* Restore non-standard material states that were altered;
+       A return value of True is a multipass request. *)
     function UnApply(var rci: TGLRenderContextInfo): Boolean; inline;
     procedure Assign(Source: TPersistent); override;
     procedure NotifyChange(Sender: TObject); override;
     procedure NotifyTexMapChange(Sender: TObject);
     procedure DestroyHandles;
     procedure Loaded;
-    {Returns True if the material is blended.
-       Will return the libmaterial's blending if it is linked to a material
-       library. }
+    (* Returns True if the material is blended.
+       Will return the libmaterial's blending if it is linked to a material library. *)
     function Blended: Boolean; inline;
-    { True if the material has a secondary texture }
+    // True if the material has a secondary texture 
     function HasSecondaryTexture: Boolean;
-    { True if the material comes from the library instead of the texture property}
+    // True if the material comes from the library instead of the texture property
     function MaterialIsLinkedToLib: Boolean;  inline;
-    { Gets the primary texture either from material library or the texture property}
+    // Gets the primary texture either from material library or the texture property
     function GetActualPrimaryTexture: TGLTexture;
-    { Gets the primary Material either from material library or the texture property}
+    // Gets the primary Material either from material library or the texture property
     function GetActualPrimaryMaterial: TGLMaterial;
-    { Return the LibMaterial (see LibMaterialName)}
+    // Return the LibMaterial (see LibMaterialName)
     function GetLibMaterial: TGLLibMaterial;
     procedure QuickAssignMaterial(const MaterialLibrary: TGLMaterialLibrary;
       const Material: TGLLibMaterial);
@@ -396,22 +391,16 @@ type
       SetDepthProperties stored StoreMaterialProps;
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode
       stored StoreMaterialProps default bmOpaque;
-    property BlendingParams: TGLBlendingParameters read FBlendingParams write
-      SetBlendingParams;
-    property MaterialOptions: TGLMaterialOptions read FMaterialOptions write
-      SetMaterialOptions default [];
-    property Texture: TGLTexture read GetTexture write SetTexture stored
-      StoreMaterialProps;
-    property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling
-      default fcBufferDefault;
-    property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write
-      SetMaterialLibrary;
-    property LibMaterialName: TGLLibMaterialName read FLibMaterialName write
-      SetLibMaterialName;
-    property TextureEx: TGLTextureEx read GetTextureEx write SetTextureEx stored
-      StoreTextureEx;
-    property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode
-      default pmFill;
+    property BlendingParams: TGLBlendingParameters read FBlendingParams 
+	  write SetBlendingParams;
+    property MaterialOptions: TGLMaterialOptions read FMaterialOptions 
+	  write SetMaterialOptions default [];
+    property Texture: TGLTexture read GetTexture write SetTexture stored StoreMaterialProps;
+    property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling default fcBufferDefault;
+    property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
+    property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
+    property TextureEx: TGLTextureEx read GetTextureEx write SetTextureEx stored StoreTextureEx;
+    property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode default pmFill;
   end;
 
   TGLAbstractLibMaterial = class(
@@ -423,10 +412,11 @@ type
     FName: TGLLibMaterialName;
     FNameHashKey: Integer;
     FTag: Integer;
-    FNotifying: Boolean; // used for recursivity protection
+	// Used for recursivity protection
+    FNotifying: Boolean; 
     {implementing IGLMaterialLibrarySupported}
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
-    {implementing IInterface}
+    // Implementing IInterface
     function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
     function _AddRef: Integer; stdcall;
     function _Release: Integer; stdcall;
@@ -440,7 +430,7 @@ type
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Apply(var ARci: TGLRenderContextInfo); virtual;
-    { Restore non-standard material states that were altered}
+    // Restore non-standard material states that were altered
     function UnApply(var ARci: TGLRenderContextInfo): Boolean; virtual;
     procedure RegisterUser(obj: TGLUpdateAbleObject); overload;
     procedure UnregisterUser(obj: TGLUpdateAbleObject); overload;
@@ -449,7 +439,8 @@ type
     procedure RegisterUser(libMaterial: TGLLibMaterial); overload;
     procedure UnregisterUser(libMaterial: TGLLibMaterial); overload;
     procedure NotifyUsers;
-    function IsUsed: boolean; //returns true if the texture has registed users
+	// Returns true if the texture has registed users
+    function IsUsed: boolean; 
     property NameHashKey: Integer read FNameHashKey;
     procedure NotifyChange(Sender: TObject); virtual;
     function Blended: Boolean; virtual;
@@ -459,10 +450,10 @@ type
     property Tag: Integer read FTag write FTag;
   end;
 
-  {Material in a material library.
-       Introduces Texture transformations (offset and scale). Those transformations
-       are available only for lib materials to minimize the memory cost of basic
-       materials (which are used in almost all objects). }
+  (* Material in a material library.
+     Introduces Texture transformations (offset and scale). Those transformations
+     are available only for lib materials to minimize the memory cost of basic
+     materials (which are used in almost all objects). *)
   TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)
   private
     FMaterial: TGLMaterial;
@@ -503,22 +494,21 @@ type
     function Blended: Boolean; override;
   published
     property Material: TGLMaterial read FMaterial write SetMaterial;
-    {Texture offset in texture coordinates.
-       The offset is applied <i>after</i> scaling. }
+    // Texture offset in texture coordinates. The offset is applied after scaling
     property TextureOffset: TGLCoordinates read FTextureOffset write
       SetTextureOffset;
-    {Texture coordinates scaling.
+    (* Texture coordinates scaling.
        Scaling is applied <i>before</i> applying the offset, and is applied
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
-       will make your texture look twice <i>smaller</i>. }
+       will make your texture look twice smaller *)
     property TextureScale: TGLCoordinates read FTextureScale write
       SetTextureScale;
     property TextureRotate: Single read FTextureRotate write
       SetTextureRotate stored StoreTextureRotate;
-    {Reference to the second texture.
+    (* Reference to the second texture.
        The referred LibMaterial *must* be in the same material library.
        Second textures are supported only through ARB multitexturing (ignored
-       if not supported). }
+       if not supported). *)
     property Texture2Name: TGLLibMaterialName read FTexture2Name write
       SetTexture2Name;
     {Optionnal shader for the material. }
@@ -534,7 +524,7 @@ type
       TGLLibMaterialName;
   end;
 
-  {A collection of materials, mainly used in material libraries. }
+  // A collection of materials, mainly used in material libraries. 
   TGLLibMaterials = class(TGLAbstractLibMaterials)
   protected
     procedure SetItems(index: Integer; const val: TGLLibMaterial);
@@ -548,19 +538,19 @@ type
     function FindItemID(ID: Integer): TGLLibMaterial;
     property Items[index: Integer]: TGLLibMaterial read GetItems write SetItems; default;
     function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
-    {Returns index of this Texture if it exists. }
+    // Returns index of this Texture if it exists. 
     function GetTextureIndex(const Texture: TGLTexture): Integer;
-    {Returns index of this Material if it exists. }
+    // Returns index of this Material if it exists. 
     function GetMaterialIndex(const Material: TGLMaterial): Integer;
-    {Returns name of this Texture if it exists. }
+    // Returns name of this Texture if it exists. 
     function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;
-    {Returns name of this Material if it exists. }
+    // Returns name of this Material if it exists. 
     function GetNameOfLibMaterial(const Material: TGLLibMaterial):
       TGLLibMaterialName;
     procedure PrepareBuildList;
-    {Deletes all the unused materials in the collection.
+    (* Deletes all the unused materials in the collection.
        A material is considered unused if no other material or updateable object references it.
-       WARNING: For this to work, objects that use the textuere, have to REGISTER to the texture.}
+       WARNING: For this to work, objects that use the textuere, have to REGISTER to the texture.*)
     procedure DeleteUnusedMaterials;
   end;
 
@@ -575,26 +565,26 @@ type
     procedure Loaded; override;
   public
     procedure SetNamesToTStrings(AStrings: TStrings);
-    {Applies the material of given name.
+    (* Applies the material of given name.
        Returns False if the material could not be found. ake sure this
        call is balanced with a corresponding UnApplyMaterial (or an
        assertion will be triggered in the destructor).
        If a material is already applied, and has not yet been unapplied,
-       an assertion will be triggered. }
+       an assertion will be triggered. *)
     function ApplyMaterial(const AName: string;
       var ARci: TGLRenderContextInfo): Boolean;
-    {Un-applies the last applied material.
+    (* Un-applies the last applied material.
        Use this function in conjunction with ApplyMaterial.
-       If no material was applied, an assertion will be triggered. }
+       If no material was applied, an assertion will be triggered. *)
     function UnApplyMaterial(var ARci: TGLRenderContextInfo): Boolean;
   end;
 
-  {Stores a set of materials, to be used and shared by scene objects.
+  (* Stores a set of materials, to be used and shared by scene objects.
      Use a material libraries for storing commonly used materials, it provides
      an efficient way to share texture and material data among many objects,
      thus reducing memory needs and rendering time. 
      Materials in a material library also feature advanced control properties
-     like texture coordinates transforms. }
+     like texture coordinates transforms. *)
   TGLMaterialLibrary = class(TGLAbstractMaterialLibrary)
   private
     FDoNotClearMaterialsOnLoad: Boolean;
@@ -612,50 +602,48 @@ type
     procedure SaveToStream(aStream: TStream); virtual;
     procedure LoadFromStream(aStream: TStream); virtual;
     procedure AddMaterialsFromStream(aStream: TStream);
-    {Save library content to a file.
+    (* Save library content to a file.
        Recommended extension : .GLML
        Currently saves only texture, ambient, diffuse, emission
-       and specular colors. }
+       and specular colors. *)
     procedure SaveToFile(const fileName: string);
     procedure LoadFromFile(const fileName: string);
     procedure AddMaterialsFromFile(const fileName: string);
-    {Add a "standard" texture material.
+    (* Add a "standard" texture material.
        "standard" means linear texturing mode with mipmaps and texture
        modulation mode with default-strength color components.
        If persistent is True, the image will be loaded persistently in memory
        (via a TGLPersistentImage), if false, it will be unloaded after upload
-       to OpenGL (via TGLPicFileImage). }
+       to OpenGL (via TGLPicFileImage). *)
     function AddTextureMaterial(const materialName, fileName: string;
       persistent: Boolean = True): TGLLibMaterial; overload;
-    {Add a "standard" texture material.
-       TGLGraphic based variant. }
+    // Add a "standard" texture material. TGLGraphic based variant. 
     function AddTextureMaterial(const materialName: string; graphic:
       TGraphic): TGLLibMaterial; overload;
-    {Returns libMaterial of given name if any exists. }
+    // Returns libMaterial of given name if any exists. 
     function LibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
-    {Returns Texture of given material's name if any exists. }
+    // Returns Texture of given material's name if any exists. 
     function TextureByName(const LibMatName: TGLLibMaterialName): TGLTexture;
-    {Returns name of texture if any exists. }
+    // Returns name of texture if any exists. 
     function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;
-    {Returns name of Material if any exists. }
-    function GetNameOfLibMaterial(const LibMat: TGLLibMaterial):
-      TGLLibMaterialName;
+    // Returns name of Material if any exists. 
+    function GetNameOfLibMaterial(const LibMat: TGLLibMaterial): TGLLibMaterialName;
   published
-      {The materials collection. }
+    // The materials collection. 
     property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored
       StoreMaterials;
-    {This event is fired whenever a texture needs to be loaded from disk. 
+    (* This event is fired whenever a texture needs to be loaded from disk. 
        The event is triggered before even attempting to load the texture,
-       and before TexturePaths is used. }
+       and before TexturePaths is used. *)
     property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write
       FOnTextureNeeded;
-    {Paths to lookup when attempting to load a texture. 
+    (* Paths to lookup when attempting to load a texture. 
        You can specify multiple paths when loading a texture, the separator
        being the semi-colon ';' character. Directories are looked up from
        first to last, the first file name match is used.
-       The current directory is always implicit and checked last. 
+       The current directory is always implicit and checked last.
        Note that you can also use the OnTextureNeeded event to provide a
-       filename. }
+       filename. *)
     property TexturePaths;
   end;
 
@@ -797,7 +785,7 @@ begin
     DepthWriteMask := FDepthWrite;
     DepthFunc := FCompareFunc;
     SetDepthRange(FZNear, FZFar);
-    if gl.ARB_depth_clamp then
+    if GL.ARB_depth_clamp then
       if FDepthClamp then
         Enable(stDepthClamp)
       else
@@ -1831,7 +1819,7 @@ begin
   end
   else
     ARci.GLStates.CurrentProgram := 0;
-  if (Texture2Name <> '') and gl.ARB_multitexture and (not
+  if (Texture2Name <> '') and GL.ARB_multitexture and (not
     xgl.SecondTextureUnitForbidden) then
   begin
     if not Assigned(libMatTexture2) then
@@ -1907,7 +1895,7 @@ begin
 
   if not Result then
   begin
-    if Assigned(libMatTexture2) and gl.ARB_multitexture and (not
+    if Assigned(libMatTexture2) and GL.ARB_multitexture and (not
       xgl.SecondTextureUnitForbidden) then
     begin
       libMatTexture2.Material.Texture.UnApplyAsTexture2(ARci, (not

+ 1 - 2
Source/GLS.CUDAGraphics.pas

@@ -11,11 +11,10 @@ interface
 {$I GLScene.inc}
 
 uses
-  Winapi.OpenGL,
-  Winapi.OpenGLext,
   System.Classes,
   System.SysUtils,
 
+  OpenGLTokens,
   GLS.CUDAApi,
   GLS.CUDA,
 

+ 1 - 0
Source/GLS.FileTIN.pas

@@ -64,6 +64,7 @@ var
 begin
   sl := TStringList.Create;
   tl := TStringList.Create;
+  i := 0;
   try
     sl.LoadFromStream(aStream);
     mesh      := TMeshObject.CreateOwned(Owner.MeshObjects);

+ 24 - 56
Source/GLS.Logger.pas

@@ -251,9 +251,8 @@ type
 
   TIDELogProc = procedure(const AMsg: string);
 
-  // Return logger wich created by TGLSLogger component
+// Return logger wich created by TGLSLogger component
 function UserLog: TLogSession;
-function SkipBeforeSTR(var TextFile: Text; const SkipSTR: string): Boolean;
 function ReadLine(var TextFile: Text): string;
 
 (* Inner logger.
@@ -279,7 +278,7 @@ var
   vAssertErrorHandler: TAssertErrorProc;
   vCurrentLogger: TGLSLogger;
 
-  // Inner logger. Create on first use, not in unit initialization. }
+// Inner logger. Create on first use, not in unit initialization. }
 function GLSLogger(): TLogSession;
 begin
   if v_GLSLogger = nil then
@@ -292,7 +291,6 @@ begin
     v_GLSLogger := TLogSession.OnlyCreate;
 {$ENDIF}
   end;
-
   Result := v_GLSLogger;
 end;
 
@@ -330,21 +328,14 @@ begin
   try
     with vr do
       case VType of
-        vtInteger:
-          Result := Result + IntToStr(VInteger);
-        vtBoolean:
-          Result := Result + BoolToStr(VBoolean, True);
-        vtChar:
-          Result := Result + string(VChar);
-        vtExtended:
-          Result := Result + FloatToStr(VExtended^);
-        vtString:
-          Result := Result + string(VString^);
+        vtInteger:  Result := Result + IntToStr(VInteger);
+        vtBoolean:  Result := Result + BoolToStr(VBoolean, True);
+        vtChar:     Result := Result + string(VChar);
+        vtExtended: Result := Result + FloatToStr(VExtended^);
+        vtString:   Result := Result + string(VString^);
         // maintened in case of future need, but will actually not arrive.
-        vtPointer:
-          Result := Result + '^(' + Format('%P', [(addr(VPointer))]) + ')';
-        vtPChar:
-          Result := Result + string(VPChar);
+        vtPointer:  Result := Result + '^(' + Format('%P', [(addr(VPointer))]) + ')';
+        vtPChar:    Result := Result + string(VPChar);
         // ...
         vtObject:
           begin
@@ -354,24 +345,15 @@ begin
               Result := Result + VObject.classname;
           end;
         // ...
-        vtClass:
-          Result := Result + VClass.classname;
-        vtWideChar:
-          Result := Result + string(VWideChar);
-        vtPWideChar:
-          Result := Result + VPWideChar;
-        vtAnsiString:
-          Result := Result + string(VAnsiString);
-        vtCurrency:
-          Result := Result + CurrToStr(VCurrency^);
-        vtVariant:
-          Result := Result + string(VVariant^);
-        vtInterface:
-          Result := Result + '(Interfaced object)';
-        vtWideString:
-          Result := Result + string(VWideString^);
-        vtInt64:
-          Result := Result + IntToStr(VInt64^);
+        vtClass:      Result := Result + VClass.classname;
+        vtWideChar:   Result := Result + string(VWideChar);
+        vtPWideChar:  Result := Result + VPWideChar;
+        vtAnsiString: Result := Result + string(VAnsiString);
+        vtCurrency:   Result := Result + CurrToStr(VCurrency^);
+        vtVariant:    Result := Result + string(VVariant^);
+        vtInterface:  Result := Result + '(Interfaced object)';
+        vtWideString: Result := Result + string(VWideString^);
+        vtInt64:      Result := Result + IntToStr(VInt64^);
       else
         Result := Result + Format('[#HLvrType(%d)]', // "Else" not possible...
           [Integer(vr.VType)]); // ...with D6, but laters ?
@@ -415,7 +397,7 @@ end;
 function ConstArrayToString(const Elements: array of const): String;
 // -2-> Returns à string, surrounded by parenthesis : '(elts[0]; ...; elts[n-1]);'
 // ("Basic infos" only.)
-Var
+var
   i: Integer;
   s, sep: String;
 Begin
@@ -478,21 +460,6 @@ begin
     Result := -1;
 end;
 
-function SkipBeforeSTR(var TextFile: Text; const SkipSTR: string): Boolean;
-var
-  s: string;
-begin
-  repeat
-    readln(TextFile, s);
-    if s = SkipSTR then
-    begin
-      Result := True;
-      exit;
-    end;
-  until False;
-  Result := False;
-end;
-
 function ReadLine(var TextFile: Text): string;
 var
   i: Word;
@@ -660,7 +627,7 @@ begin
   begin
     FCheckLogSizeThread.Terminate();
 
-    // DaStr: Not really safe because we can wait forever.
+    // Not really safe because we can wait forever.
     // But other methods known to me are platform-dependant.
     FCheckLogSizeThread.WaitFor();
 
@@ -915,7 +882,7 @@ begin
   begin
     FBufferProcessingThread.Terminate();
 
-    // DaStr: Not really safe because we can wait forever.
+    // Not really safe because we can wait forever.
     // But other methods known to me are platform-dependant.
     FBufferProcessingThread.WaitFor();
 
@@ -1214,7 +1181,7 @@ begin
   inc(FLogKindCount[ALevel]);
   if llMessageLimit[ALevel] < FLogKindCount[ALevel] then
     case FMessageLimitAction of
-      mlaContinue: { Do nothing. }
+      mlaContinue: // Do nothing.
         ;
 
       mlaStopLogging:
@@ -1252,8 +1219,9 @@ begin
   end;
 end;
 
+//-------------------------------
 // TLogCheckSizeThread
-
+//-------------------------------
 constructor TLogCheckSizeThread.Create(const AParent: TLogSession);
 begin
   FParent := AParent;

+ 9 - 10
Source/GLS.SDLContext.pas

@@ -16,17 +16,16 @@ unit GLS.SDLContext;
 interface
 
 uses
-  Winapi.OpenGL,
   Winapi.Windows,
   System.Classes,
   System.SysUtils,
 
+  OpenGLTokens,
   XOpenGL,
   GLContext,
   GLScene,
   GLCrossPlatform,
 
-  GLS.OpenGLx,
   GLS.SDLWindow,
   SDL2;
 
@@ -236,7 +235,7 @@ begin
   else
     FSDLWin.PixelDepth := vpd16bits;
 
-  sdlOpt := [voOpenGL];
+  sdlOpt := [voOpenGL, voHardwareAccel];
   if FullScreen then
     sdlOpt := sdlOpt + [voFullScreen]
   else
@@ -250,10 +249,8 @@ begin
   if not FSDLWin.Active then
     raise Exception.Create('SDLWindow open failed.');
 
-   xgl.MapTexCoordToNull;
-   ReadExtensions;
-   ReadImplementationProperties;
-   xgl.MapTexCoordToMain;
+  FGL.Initialize;
+  MakeGLCurrent;
 end;
 
 procedure TSDLContext.DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: integer);
@@ -269,13 +266,15 @@ end;
 
 procedure TSDLContext.DoDestroyContext;
 begin
-   // Beware, SDL will also terminate the application
-   FSDLWin.Close;
+  // Beware, SDL will also terminate the application
+  FGL.Close;
+  FSDLWin.Close;
 end;
 
 procedure TSDLContext.DoActivate;
 begin
-   // nothing particular (only one context, always active)
+  if not FGL.IsInitialized then
+    FGL.Initialize;
 end;
 
 procedure TSDLContext.DoDeactivate;

+ 4 - 4
Source/GLS.SDLWindow.pas

@@ -22,7 +22,7 @@ uses
   System.SysUtils,
   System.SyncObjs,
 
-  OpenGLAdapter,
+  OpenGLTokens,
   GLVectorTypes,
   GLState,
   GLContext,
@@ -42,13 +42,13 @@ type
     voResizable: window should be resizable
     voFullScreen: requires a full screen "window" (screen resolution may be changed)
     voStencilBuffer: requires a stencil buffer (8bits, use along voOpenGL) *)
-  TSDLWindowOption = (voDoubleBuffer, voOpenGL, voResizable, voFullScreen,
-    voStencilBuffer);
+  TSDLWindowOption = (voDoubleBuffer, voHardwareAccel, voOpenGL, voResizable, 
+    voFullScreen,  voStencilBuffer);
   TSDLWindowOptions = set of TSDLWindowOption;
   TSDLEvent = procedure(sender: TObject; const event: TSDL_Event) of object;
 
 const
-  cDefaultSDLWindowOptions = [voDoubleBuffer, voOpenGL, voResizable];
+  cDefaultSDLWindowOptions = [voDoubleBuffer, voHardwareAccel, voOpenGL, voResizable];
 
 type
   (* A basic SDL-based window (non-visual component).

+ 1 - 0
Source/GLS.dwsObjects.pas

@@ -15,6 +15,7 @@ uses
   System.Classes,
   System.SysUtils,
 
+  OpenGLTokens,
   GLScene,
   XCollection,
   GLBaseClasses,

+ 1 - 1
Source/GLS.dwsOpenGL.pas

@@ -17,7 +17,7 @@ uses
   System.Classes,
   System.Variants,
   
-  GLS.OpenGLx,
+  OpenGLTokens,
   GLContext,
   GLVectorGeometry,
   

+ 46 - 48
Source/GLS.vclOpenGL.pas

@@ -13,8 +13,10 @@ interface
 
 uses
   Winapi.Windows,
-  Winapi.OpenGL,
-  Winapi.OpenGLext,
+
+  OpenGLTokens,
+  OpenGLAdapter,
+  GLContext,
   Vcl.Forms;
 
 type
@@ -53,11 +55,11 @@ type
   TGLShader = class
   private
   protected
-    _ID: GLuint;
+    _ID: TGLuint;
   public
-    constructor Create(const Kind_: GLenum);
+    constructor Create(const Kind_: TGLuint);
     destructor Destroy; override;
-    property ID: GLuint read _ID;
+    property ID: TGLuint read _ID;
     procedure SetSource(const Source_: String);
   end;
 
@@ -88,7 +90,7 @@ type
   TGLProgram = class
   private
   protected
-    _ID: GLuint;
+    _ID: TGLuint;
   public
     constructor Create;
     destructor Destroy; override;
@@ -103,15 +105,15 @@ type
     _PValue_ = ^_TYPE_;
   private
   protected
-    _ID: GLuint;
-    _Kind: GLenum;
+    _ID: TGLuint;
+    _Kind: TGLuint;
     _Count: Integer;
     _Head: _PValue_;
     procedure SetCount(const Count_: Integer);
   public
-    constructor Create(const Kind_: GLenum);
+    constructor Create(const Kind_: TGLuint);
     destructor Destroy; override;
-    property ID: GLuint read _ID;
+    property ID: TGLuint read _ID;
     property Count: Integer read _Count write SetCount;
     procedure Bind;
     procedure Unbind;
@@ -146,11 +148,11 @@ type
   TGLArray = class
   private
   protected
-    _ID: GLuint;
+    _ID: TGLuint;
   public
     constructor Create;
     destructor Destroy; override;
-    property ID: GLuint read _ID;
+    property ID: TGLuint read _ID;
     procedure BeginBind;
     procedure EndBind;
   end;
@@ -304,8 +306,8 @@ end;
 procedure TGLOpenGL.InitOpenGL;
 begin
   BeginGL;
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
+  gl.Enable(GL_DEPTH_TEST);
+  gl.Enable(GL_CULL_FACE);
   EndGL;
 end;
 
@@ -316,39 +318,36 @@ begin
   Assert(SetPixelFormat(DC_, _PFI, @_PFD), 'SetPixelFormat() is failed!');
 end;
 
-constructor TGLShader.Create(const Kind_: GLenum);
+constructor TGLShader.Create(const Kind_: TGLuint);
 begin
   inherited Create;
-  _ID := glCreateShader(Kind_);
+  _ID := gl.CreateShader(Kind_);
 end;
 
 destructor TGLShader.Destroy;
 begin
-  glDeleteShader(_ID);
+  gl.DeleteShader(_ID);
   inherited;
 end;
 
 procedure TGLShader.SetSource(const Source_: String);
 var
   P: PAnsiChar;
-  N: GLint;
-  E: GLint;
+  N: TGLint;
+  E: TGLint;
   Cs: array of PGLchar;
-  CsN: GLsizei;
+  CsN: TGLsizei;
 begin
   P := PAnsiChar(AnsiString(Source_));
   N := Length(Source_);
-  glShaderSource(_ID, 1, @P, @N);
-  glCompileShader(_ID);
-  glGetShaderiv(_ID, GL_COMPILE_STATUS, @E);
+  gl.ShaderSource(_ID, 1, @P, @N);
+  gl.CompileShader(_ID);
+  gl.GetShaderiv(_ID, GL_COMPILE_STATUS, @E);
   if E = GL_FALSE then
   begin
-    glGetShaderiv(_ID, GL_INFO_LOG_LENGTH, @N);
-
+    gl.GetShaderiv(_ID, GL_INFO_LOG_LENGTH, @N);
     SetLength(Cs, N);
-
-    glGetShaderInfoLog(_ID, N, @CsN, @Cs[0]);
-
+    gl.GetShaderInfoLog(_ID, N, @CsN, @Cs[0]);
     Assert(False, AnsiString(Cs));
   end;
 end;
@@ -386,69 +385,69 @@ end;
 constructor TGLProgram.Create;
 begin
   inherited;
-  _ID := glCreateProgram;
+  _ID := gl.CreateProgram;
 end;
 
 destructor TGLProgram.Destroy;
 begin
-  glDeleteProgram(_ID);
+  gl.DeleteProgram(_ID);
   inherited;
 end;
 
 procedure TGLProgram.Attach(const Shader_: TGLShader);
 begin
-  glAttachShader(_ID, Shader_.ID);
+  gl.AttachShader(_ID, Shader_.ID);
 end;
 
 procedure TGLProgram.Detach(const Shader_: TGLShader);
 begin
-  glDetachShader(_ID, Shader_.ID);
+  gl.DetachShader(_ID, Shader_.ID);
 end;
 
 // ------------------------------------------------------------------------------
 
 procedure TGLProgram.Link;
 begin
-  glLinkProgram(_ID);
+  gl.LinkProgram(_ID);
 end;
 
 // ------------------------------------------------------------------------------
 
 procedure TGLProgram.Use;
 begin
-  glUseProgram(_ID);
+  gl.UseProgram(_ID);
 end;
 
 procedure TGLBuffer<_TYPE_>.SetCount(const Count_: Integer);
 begin
   _Count := Count_;
   Bind;
-  glBufferData(_Kind, SizeOf(_TYPE_) * _Count, nil, GL_DYNAMIC_DRAW);
+  gl.BufferData(_Kind, SizeOf(_TYPE_) * _Count, nil, GL_DYNAMIC_DRAW);
   Unbind;
 end;
 
-constructor TGLBuffer<_TYPE_>.Create(const Kind_: GLenum);
+constructor TGLBuffer<_TYPE_>.Create(const Kind_: TGLuint);
 begin
   inherited Create;
-  glGenBuffers(1, @_ID);
+  gl.GenBuffers(1, @_ID);
   _Kind := Kind_;
   Count := 0;
 end;
 
 destructor TGLBuffer<_TYPE_>.Destroy;
 begin
-  glDeleteBuffers(1, @_ID);
+  gl.DeleteBuffers(1, @_ID);
   inherited;
 end;
 
 procedure TGLBuffer<_TYPE_>.Bind;
 begin
-  glBindBuffer(_Kind, _ID);
+  gl.BindBuffer(_Kind, _ID);
 end;
 
 procedure TGLBuffer<_TYPE_>.Unbind;
 begin
-  glBindBuffer(_Kind, 0);
+  gl.BindBuffer(_Kind, 0);
 end;
 
 // ------------------------------------------------------------------------------
@@ -456,13 +455,12 @@ end;
 procedure TGLBuffer<_TYPE_>.Map;
 begin
   Bind;
-  _Head := glMapBuffer(_Kind, GL_READ_WRITE);
+  _Head := gl.MapBuffer(_Kind, GL_READ_WRITE);
 end;
 
 procedure TGLBuffer<_TYPE_>.Unmap;
 begin
-  glUnmapBuffer(_Kind);
-
+  gl.UnmapBuffer(_Kind);
   Unbind;
 end;
 
@@ -499,23 +497,23 @@ end;
 constructor TGLArray.Create;
 begin
   inherited Create;
-  glGenVertexArrays(1, @_ID);
+  gl.GenVertexArrays(1, @_ID);
 end;
 
 destructor TGLArray.Destroy;
 begin
-  glDeleteVertexArrays(1, @_ID);
+  gl.DeleteVertexArrays(1, @_ID);
   inherited;
 end;
 
 procedure TGLArray.BeginBind;
 begin
-  glBindVertexArray(_ID);
+  gl.BindVertexArray(_ID);
 end;
 
 procedure TGLArray.EndBind;
 begin
-  glBindVertexArray(0);
+  gl.BindVertexArray(0);
 end;
 
 // ====================================================================
@@ -524,7 +522,7 @@ initialization
 
 GLOpenGL := TGLOpenGL.Create;
 GLOpenGL.BeginGL;
-InitOpenGLext;
+GL.Initialize; // InitOpenGLext;
 
 finalization
 

+ 0 - 3
Source/GLSLShader.pas

@@ -11,13 +11,10 @@ interface
 {$I GLScene.inc}
 
 uses
-//  Winapi.OpenGL,
-//  Winapi.OpenGLext,
   System.Classes,
   System.SysUtils,
   
   OpenGLTokens,
-  OpenGLAdapter,
   GLVectorGeometry,
   GLVectorTypes,
   GLTexture,

+ 2 - 2
Source/GLScene.pas

@@ -2556,7 +2556,7 @@ var
 begin
   Result := AABBToBB(AxisAlignedBoundingBox(AIncludeChilden));
 
-  // DaStr: code not tested...
+  // code not tested...
   if AUseBaryCenter then
   begin
     CurrentBaryOffset :=
@@ -2574,7 +2574,7 @@ var
 begin
   Result := AABBToBB(AxisAlignedBoundingBoxUnscaled(AIncludeChilden));
 
-  // DaStr: code not tested...
+  // code not tested...
   if AUseBaryCenter then
   begin
     CurrentBaryOffset :=

+ 1 - 1
Source/GLSelection.pas

@@ -11,7 +11,7 @@ interface
 {$I GLScene.inc}
 
 uses
-  System.SysUtils, 
+  System.SysUtils,
   System.Classes,
    
   OpenGLTokens, 

+ 0 - 1
Source/GLSkydome.pas

@@ -17,7 +17,6 @@ uses
   System.Math,
   Vcl.Graphics,
 
-  OpenGLAdapter,
   OpenGLTokens,
   GLScene,
   GLContext,

+ 1 - 2
Source/GLSpacePartition.pas

@@ -32,12 +32,11 @@ interface
 {$I GLScene.inc}
 
 uses
-  Winapi.OpenGL,
-
   System.Classes,
   System.SysUtils,
   System.Math,
 
+  OpenGLTokens,
   GLScene,
   GLCoordinates,
   GLVectorTypes,

+ 3 - 3
Source/GLTextureFormat.pas

@@ -9,8 +9,8 @@ unit GLTextureFormat;
 interface
 
 uses
-  GLS.Strings,
-  OpenGLTokens;
+  OpenGLTokens,
+  GLS.Strings;
 
 type
   // Texture addressing rules
@@ -223,7 +223,7 @@ function GetTextureElementSize(colorFormat: Cardinal; dataType: Cardinal):
   Integer; overload;
 // Give compatible openGL image format and data type
 procedure FindCompatibleDataFormat(intFormat: TGLInternalFormat; out dFormat:
-  Cardinal; out dType: Cardinal);
+  TGLuint; out dType: TGLUint);
 (* Give a compressed openGL texture format from GLScene texture format
   if format is have not compression than return same openGL format *)
 function CompressedInternalFormatToOpenGL(intFormat: TGLInternalFormat):

+ 0 - 1
Source/GLWindowsFont.pas

@@ -19,7 +19,6 @@ uses
   System.UITypes,
   VCL.Graphics,
 
-   
   GLScene,
   GLTexture,
   GLBitmapFont,

+ 36 - 35
Source/ODEUtils.pas

@@ -15,12 +15,13 @@ unit ODEUtils;
 interface
 
 uses
-  Winapi.OpenGL,
   System.SysUtils,
   System.Classes,
+
+  ODEImport,
+  OpenGLTokens,
   GLContext,
   GLVectorGeometry,
-  ODEImport,
   GLScene,
   GLPersistentClasses,
   GLCoordinates,
@@ -126,40 +127,40 @@ begin
   lz := Sides[2] * 0.5;
 
   // sides
-  glBegin(GL_TRIANGLE_STRIP);
-  glNormal3f(-1, 0, 0);
-  glVertex3f(-lx, -ly, -lz);
-  glVertex3f(-lx, -ly, lz);
-  glVertex3f(-lx, ly, -lz);
-  glVertex3f(-lx, ly, lz);
-  glNormal3f(0, 1, 0);
-  glVertex3f(lx, ly, -lz);
-  glVertex3f(lx, ly, lz);
-  glNormal3f(1, 0, 0);
-  glVertex3f(lx, -ly, -lz);
-  glVertex3f(lx, -ly, lz);
-  glNormal3f(0, -1, 0);
-  glVertex3f(-lx, -ly, -lz);
-  glVertex3f(-lx, -ly, lz);
-  glEnd();
+  gl.Begin_(GL_TRIANGLE_STRIP);
+  gl.Normal3f(-1, 0, 0);
+  gl.Vertex3f(-lx, -ly, -lz);
+  gl.Vertex3f(-lx, -ly, lz);
+  gl.Vertex3f(-lx, ly, -lz);
+  gl.Vertex3f(-lx, ly, lz);
+  gl.Normal3f(0, 1, 0);
+  gl.Vertex3f(lx, ly, -lz);
+  gl.Vertex3f(lx, ly, lz);
+  gl.Normal3f(1, 0, 0);
+  gl.Vertex3f(lx, -ly, -lz);
+  gl.Vertex3f(lx, -ly, lz);
+  gl.Normal3f(0, -1, 0);
+  gl.Vertex3f(-lx, -ly, -lz);
+  gl.Vertex3f(-lx, -ly, lz);
+  gl.End_();
 
   // top face
-  glBegin(GL_TRIANGLE_FAN);
-  glNormal3f(0, 0, 1);
-  glVertex3f(-lx, -ly, lz);
-  glVertex3f(lx, -ly, lz);
-  glVertex3f(lx, ly, lz);
-  glVertex3f(-lx, ly, lz);
-  glEnd();
+  gl.Begin_(GL_TRIANGLE_FAN);
+  gl.Normal3f(0, 0, 1);
+  gl.Vertex3f(-lx, -ly, lz);
+  gl.Vertex3f(lx, -ly, lz);
+  gl.Vertex3f(lx, ly, lz);
+  gl.Vertex3f(-lx, ly, lz);
+  gl.End_();
 
   // bottom face
-  glBegin(GL_TRIANGLE_FAN);
-  glNormal3f(0, 0, -1);
-  glVertex3f(-lx, -ly, -lz);
-  glVertex3f(-lx, ly, -lz);
-  glVertex3f(lx, ly, -lz);
-  glVertex3f(lx, -ly, -lz);
-  glEnd();
+  gl.Begin_(GL_TRIANGLE_FAN);
+  gl.Normal3f(0, 0, -1);
+  gl.Vertex3f(-lx, -ly, -lz);
+  gl.Vertex3f(-lx, ly, -lz);
+  gl.Vertex3f(lx, ly, -lz);
+  gl.Vertex3f(lx, -ly, -lz);
+  gl.End_();
 end;
 
 function GLSceneMatrixToODER(m: TMatrix): TdMatrix3;
@@ -185,7 +186,7 @@ procedure dsDrawBox(pos: TdVector3; R: TdMatrix3; Sides: TdVector3);
 begin
   setTransform(pos, R);
   drawBox(sides);
-  glPopMatrix();
+  gl.PopMatrix();
 end;
 
 procedure setTransform(pos: TdVector3; R: TdMatrix3);
@@ -208,8 +209,8 @@ begin
   matrix[13] := pos[1];
   matrix[14] := pos[2];
   matrix[15] := 1;
-  glPushMatrix();
-  glMultMatrixf(@matrix);
+  gl.PushMatrix();
+  gl.MultMatrixf(@matrix);
 end;
 
 (*$WARNINGS OFF*)

+ 59 - 50
Source/OpenGLTokens.pas

@@ -65,8 +65,8 @@ type
   TGLclampd = Double;
   PGLclampd = System.PDouble;
 
-  GLhandleARB = Cardinal;
-  PGLhandleARB = ^GLhandleARB;
+  TGLhandleARB = Cardinal;
+  PGLhandleARB = ^TGLhandleARB;
 
   PGLPCharArray = ^PAnsiChar;
 
@@ -76,18 +76,26 @@ type
   // GL_ARB_cl_event
   (* These incomplete types are declare types compatible with OpenCL's
     cl_context and cl_event *)
-  _cl_context = record end;
-  _cl_event = record end;
-  p_cl_context = ^_cl_context;
-  p_cl_event = ^_cl_event;
+  T_cl_context = record end;
+  P_cl_context = ^T_cl_context;
+  T_cl_event = record end;
+  P_cl_event = ^T_cl_event;
 
   // the size of these depend on platform (32bit or 64bit)
-  GLintptr = NativeInt;
   TGLintptr = NativeInt;
-  GLsizeiptr = NativeInt;
+  PGLintptr = ^TGLintptr;
+
   TGLsizeiptr = NativeInt;
-  GLsync = NativeInt;
+  PGLsizeiptr = ^TGLsizeiptr;
+
   TGLsync = NativeInt;
+  PGLsync = ^TGLsync;
+
+  TGLchar = Byte;
+  PGLchar = MarshaledAString;
+
+  TGLhalf = WORD;
+  PGLhalf = ^TGLhalf;
 
   // Windows types
   PWGLswap = ^TWGLswap;
@@ -95,6 +103,7 @@ type
     hdc: HDC;
     uiFlags: UINT;
   end;
+
   TWGLswap = _WGLSWAP;
   WGLSWAP = _WGLSWAP;
   HPBUFFERARB = Integer;
@@ -133,7 +142,7 @@ type
     message: PAnsiChar;
     userParam: Pointer); {$IFDEF MSWINDOWS}stdcall;{$ENDIF}{$IFDEF UNIX}cdecl;{$ENDIF}
 
-  TGLvdpauSurfaceNV = GLintptr;
+  TGLvdpauSurfaceNV = TGLintptr;
   PGLvdpauSurfaceNV = ^TGLvdpauSurfaceNV;
 
 //------------------- OpenGL Utility (GLU) types ----------------
@@ -5583,17 +5592,17 @@ const
   PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_shader_objects (ARB #30)
-  PFNGLDELETEOBJECTARBPROC = procedure(obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETHANDLEARBPROC = function(pname: Cardinal): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLDETACHOBJECTARBPROC = procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLCREATESHADEROBJECTARBPROC = function(shaderType: Cardinal): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLSHADERSOURCEARBPROC = procedure(shaderObj: GLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLCOMPILESHADERARBPROC = procedure(shaderObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLCREATEPROGRAMOBJECTARBPROC = function(): GLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLATTACHOBJECTARBPROC = procedure(containerObj: GLhandleARB; obj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLLINKPROGRAMARBPROC = procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLUSEPROGRAMOBJECTARBPROC = procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLVALIDATEPROGRAMARBPROC = procedure(programObj: GLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLDELETEOBJECTARBPROC = procedure(obj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETHANDLEARBPROC = function(pname: Cardinal): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLDETACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; attachedObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLCREATESHADEROBJECTARBPROC = function(shaderType: Cardinal): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLSHADERSOURCEARBPROC = procedure(shaderObj: TGLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLCOMPILESHADERARBPROC = procedure(shaderObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLCREATEPROGRAMOBJECTARBPROC = function(): TGLhandleARB; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLATTACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; obj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLLINKPROGRAMARBPROC = procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLUSEPROGRAMOBJECTARBPROC = procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLVALIDATEPROGRAMARBPROC = procedure(programObj: TGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNIFORM1FARBPROC = procedure(location: TGLint; v0: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNIFORM2FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNIFORM3FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -5613,20 +5622,20 @@ const
   PFNGLUNIFORMMATRIX2FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNIFORMMATRIX3FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNIFORMMATRIX4FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETOBJECTPARAMETERFVARBPROC = procedure(obj: GLhandleARB; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETOBJECTPARAMETERIVARBPROC = procedure(obj: GLhandleARB; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETINFOLOGARBPROC = procedure(obj: GLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETATTACHEDOBJECTSARBPROC = procedure(containerObj: GLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETUNIFORMLOCATIONARBPROC = function(programObj: GLhandleARB; const name: PAnsiChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETACTIVEUNIFORMARBPROC = procedure(programObj: GLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETUNIFORMFVARBPROC = procedure(programObj: GLhandleARB; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETUNIFORMIVARBPROC = procedure(programObj: GLhandleARB; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETSHADERSOURCEARBPROC = procedure(obj: GLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETOBJECTPARAMETERFVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETOBJECTPARAMETERIVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETINFOLOGARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETATTACHEDOBJECTSARBPROC = procedure(containerObj: TGLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETUNIFORMLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETACTIVEUNIFORMARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETUNIFORMFVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLfloat); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETUNIFORMIVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETSHADERSOURCEARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_vertex_shader (ARB #31)
-  PFNGLBINDATTRIBLOCATIONARBPROC = procedure(programObj: GLhandleARB; index: Cardinal; const name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETACTIVEATTRIBARBPROC = procedure(programObj: GLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETATTRIBLOCATIONARBPROC = function(programObj: GLhandleARB; const name: PAnsiChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLBINDATTRIBLOCATIONARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; const name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETACTIVEATTRIBARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETATTRIBLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_DrawBuffers (ARB #37)
   PFNGLDRAWBUFFERSARBPROC = procedure (n: TGLsizei; const bufs: PCardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -5964,15 +5973,15 @@ const
   PFNGLGETMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLNAMEDBUFFERDATAEXTPROC = procedure(buffer: Cardinal; size: TGLsizei; const data: PGLvoid; usage: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; const data: PGLvoid); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal; access: Cardinal): PGLvoid; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal): TGLboolean; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLMAPNAMEDBUFFERRANGEEXTPROC = function(buffer: Cardinal; offset: GLintptr; length: GLsizeiptr; access: TGLbitfield): PGLvoid; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = procedure(buffer: Cardinal; offset: GLintptr; length: GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = procedure(readBuffer: Cardinal; writeBuffer: Cardinal; readOffset: GLintptr; writeOffset: GLintptr; size: GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLMAPNAMEDBUFFERRANGEEXTPROC = function(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr; access: TGLbitfield): PGLvoid; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = procedure(readBuffer: Cardinal; writeBuffer: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLvoid); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; data: PGLvoid); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLTEXTUREBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; internalformat: Cardinal; buffer: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLMULTITEXBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; interformat: Cardinal; buffer: Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = procedure(renderbuffer: Cardinal; interformat: Cardinal; width: TGLsizei; height: TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -6191,13 +6200,13 @@ const
 
   // GL_ARB_clear_buffer_object (ARB #121)
   PFNGLClearBufferData = procedure(target : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLClearBufferSubData = procedure(target : Cardinal; internalformat : Cardinal; offset : GLintptr; size : GLsizeiptr; format : Cardinal; type_ : Cardinal; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLClearBufferSubData = procedure(target : Cardinal; internalformat : Cardinal; offset : TGLintptr; size : TGLsizeiptr; format : Cardinal; type_ : Cardinal; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLClearNamedBufferData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLClearNamedBufferSubData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; offset : GLsizeiptr; size : GLsizeiptr; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLClearNamedBufferSubData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; offset : TGLsizeiptr; size : TGLsizeiptr; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_compute_shader (ARB #122)
   PFNGLDispatchCompute = procedure(num_groups_x : Cardinal; num_groups_y : Cardinal; num_groups_z : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLDispatchComputeIndirect = procedure(indirect : GLintptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLDispatchComputeIndirect = procedure(indirect : TGLintptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_copy_image (ARB #123)
   PFNGLCopyImageSubData = procedure(srcName : Cardinal; srcTarget : Cardinal; srcLevel : TGLint; srcX : TGLint; srcY : TGLint; srcZ : TGLint; dstName : Cardinal; dstTarget : Cardinal; dstLevel : TGLint; dstX : TGLint; dstY : TGLint; dstZ : TGLint; srcWidth : TGLsizei; srcHeight : TGLsizei; srcDepth : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -6228,7 +6237,7 @@ const
   // GL_ARB_invalidate_subdata (ARB #132)
   PFNGLInvalidateTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLInvalidateTexImage = procedure(texture : Cardinal; level : TGLint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLInvalidateBufferSubData = procedure(buffer : Cardinal; offset : GLintptr; length : GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLInvalidateBufferSubData = procedure(buffer : Cardinal; offset : TGLintptr; length : TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLInvalidateBufferData = procedure(buffer : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLInvalidateFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLInvalidateSubFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal; x : TGLint; y : TGLint; width : TGLsizei; height : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -6258,8 +6267,8 @@ const
   // (no entry points)
 
   // GL_ARB_texture_buffer_range (ARB #139)
-  PFNGLTexBufferRange = procedure(target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset :GLintptr; size : GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLTextureBufferRange = procedure(texture : Cardinal; target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset : GLintptr; size : GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLTexBufferRange = procedure(target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset: TGLintptr; size : TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLTextureBufferRange = procedure(texture : Cardinal; target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset : TGLintptr; size : TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_texture_query_levels (ARB #140)
   // (no entry points)
@@ -6270,27 +6279,27 @@ const
   PFNGLTextureStorage2DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLTextureStorage3DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
-  PFNGLBufferStorage = procedure(target : Cardinal; size : GLsizeiptr; const data : pointer; flags : TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLBufferStorage = procedure(target : Cardinal; size : TGLsizeiptr; const data : pointer; flags : TGLbitfield); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLClearTexImage = procedure(texture : Cardinal; level : TGLint; format : Cardinal; _type : Cardinal; const data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLClearTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei; format : Cardinal; _type : Cardinal; const Data : Pointer); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLBindBuffersBase = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLUint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLBindBuffersRange = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLuint; const offsets : GLintptr; const sizes : GLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLBindBuffersRange = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLuint; const offsets : TGLintptr; const sizes : TGLsizeiptr); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLBindTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLBindSamplers = procedure(first : Cardinal; count : TGLsizei; const samplers : PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLBindImageTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLBindVertexBuffers = procedure(first : Cardinal; count : TGLsizei; const buffers : Cardinal; const offsets : GLintptr; const strides : PGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLBindVertexBuffers = procedure(first : Cardinal; count : TGLsizei; const buffers : Cardinal; const offsets : TGLintptr; const strides : PGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_texture_view (ARB #124)
   PFNGLTextureView = procedure(texture : Cardinal; target : Cardinal; origtexture : Cardinal; internalformat : Cardinal; minlevel : Cardinal; numlevels : Cardinal; minlayer : Cardinal; numlayers : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // GL_ARB_vertex_attrib_binding (ARB #125)
-  PFNGLBindVertexBuffer = procedure(bindingindex : Cardinal; buffer : Cardinal; offset : GLintptr; stride : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLBindVertexBuffer = procedure(bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexAttribFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexAttribIFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexAttribLFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexAttribBinding = procedure(attribindex : Cardinal; bindingindex : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexBindingDivisor = procedure(bindingindex : Cardinal; divisor : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
-  PFNGLVertexArrayBindVertexBuffer = procedure(vaobj : Cardinal; bindingindex : Cardinal; buffer : Cardinal; offset : GLintptr; stride : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLVertexArrayBindVertexBuffer = procedure(vaobj : Cardinal; bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexArrayVertexAttribFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexArrayVertexAttribIFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexArrayVertexAttribLFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
@@ -6301,7 +6310,7 @@ const
   // (no entry points)
 
   // GL_ARB_cl_event (ARB #103)
-  PFNGLCreateSyncFromCLevent = function(context: p_cl_context; event: p_cl_event; flags: TGLbitfield): GLsync; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
+  PFNGLCreateSyncFromCLevent = function(context: p_cl_context; event: p_cl_event; flags: TGLbitfield): TGLsync; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
   // EXT/Vendor extensions