2
0
Эх сурвалжийг харах

Fixed conflict of types for c++ with OpenGLTokens

GLScene 5 жил өмнө
parent
commit
73f1341a22

+ 231 - 110
Packages/GLScene_Cg_DT.dproj

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

+ 231 - 110
Packages/GLScene_DT.dproj

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

+ 231 - 110
Packages/GLScene_Physics_DT.dproj

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

+ 0 - 1
Packages/GLScene_RT.dpk

@@ -253,7 +253,6 @@ contains
   GLS.Memo in '..\Source\GLS.Memo.pas',
   GLS.Memo in '..\Source\GLS.Memo.pas',
   GLS.PlugInManager in '..\Source\GLS.PlugInManager.pas',
   GLS.PlugInManager in '..\Source\GLS.PlugInManager.pas',
   GLS.OpenGLx in '..\Source\GLS.OpenGLx.pas',
   GLS.OpenGLx in '..\Source\GLS.OpenGLx.pas',
-  GLS.vclOpenGL in '..\Source\GLS.vclOpenGL.pas',
   GLTeapot in '..\Source\GLTeapot.pas',
   GLTeapot in '..\Source\GLTeapot.pas',
   GLTerrainRenderer in '..\Source\GLTerrainRenderer.pas',
   GLTerrainRenderer in '..\Source\GLTerrainRenderer.pas',
   GLTexCombineShader in '..\Source\GLTexCombineShader.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.Memo.pas"/>
         <DCCReference Include="..\Source\GLS.PlugInManager.pas"/>
         <DCCReference Include="..\Source\GLS.PlugInManager.pas"/>
         <DCCReference Include="..\Source\GLS.OpenGLx.pas"/>
         <DCCReference Include="..\Source\GLS.OpenGLx.pas"/>
-        <DCCReference Include="..\Source\GLS.vclOpenGL.pas"/>
         <DCCReference Include="..\Source\GLTeapot.pas"/>
         <DCCReference Include="..\Source\GLTeapot.pas"/>
         <DCCReference Include="..\Source\GLTerrainRenderer.pas"/>
         <DCCReference Include="..\Source\GLTerrainRenderer.pas"/>
         <DCCReference Include="..\Source\GLTexCombineShader.pas"/>
         <DCCReference Include="..\Source\GLTexCombineShader.pas"/>
@@ -426,7 +425,7 @@
                 <Platform value="Win64">True</Platform>
                 <Platform value="Win64">True</Platform>
             </Platforms>
             </Platforms>
             <Deployment Version="3">
             <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">
                     <Platform Name="Win32">
                         <RemoteName>GLScene_RT.bpl</RemoteName>
                         <RemoteName>GLScene_RT.bpl</RemoteName>
                         <Overwrite>true</Overwrite>
                         <Overwrite>true</Overwrite>
@@ -451,20 +450,12 @@
                         <RemoteDir>classes</RemoteDir>
                         <RemoteDir>classes</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
                         <RemoteDir>res\xml</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\xml</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidGDBServer">
                 <DeployClass Name="AndroidGDBServer">
                     <Platform Name="Android">
                     <Platform Name="Android">
@@ -477,10 +468,6 @@
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <RemoteDir>library\lib\armeabi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\armeabi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                 <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
                     <Platform Name="Android64">
                     <Platform Name="Android64">
@@ -493,10 +480,6 @@
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <RemoteDir>library\lib\mips</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\mips</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
                 <DeployClass Name="AndroidServiceOutput">
@@ -504,10 +487,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidServiceOutput_Android32">
                 <DeployClass Name="AndroidServiceOutput_Android32">
                     <Platform Name="Android64">
                     <Platform Name="Android64">
@@ -520,200 +499,120 @@
                         <RemoteDir>res\drawable</RemoteDir>
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStyles">
                 <DeployClass Name="AndroidSplashStyles">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="AndroidSplashStylesV21">
                 <DeployClass Name="AndroidSplashStylesV21">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\values-v21</RemoteDir>
                         <RemoteDir>res\values-v21</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values-v21</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_Colors">
                 <DeployClass Name="Android_Colors">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_DefaultAppIcon">
                 <DeployClass Name="Android_DefaultAppIcon">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable</RemoteDir>
                         <RemoteDir>res\drawable</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon144">
                 <DeployClass Name="Android_LauncherIcon144">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon36">
                 <DeployClass Name="Android_LauncherIcon36">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <RemoteDir>res\drawable-ldpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-ldpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon48">
                 <DeployClass Name="Android_LauncherIcon48">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon72">
                 <DeployClass Name="Android_LauncherIcon72">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_LauncherIcon96">
                 <DeployClass Name="Android_LauncherIcon96">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon24">
                 <DeployClass Name="Android_NotificationIcon24">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <RemoteDir>res\drawable-mdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-mdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon36">
                 <DeployClass Name="Android_NotificationIcon36">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <RemoteDir>res\drawable-hdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-hdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon48">
                 <DeployClass Name="Android_NotificationIcon48">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <RemoteDir>res\drawable-xhdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon72">
                 <DeployClass Name="Android_NotificationIcon72">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <RemoteDir>res\drawable-xxhdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_NotificationIcon96">
                 <DeployClass Name="Android_NotificationIcon96">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage426">
                 <DeployClass Name="Android_SplashImage426">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <RemoteDir>res\drawable-small</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-small</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage470">
                 <DeployClass Name="Android_SplashImage470">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <RemoteDir>res\drawable-normal</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-normal</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage640">
                 <DeployClass Name="Android_SplashImage640">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <RemoteDir>res\drawable-large</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-large</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_SplashImage960">
                 <DeployClass Name="Android_SplashImage960">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <RemoteDir>res\drawable-xlarge</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\drawable-xlarge</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="Android_Strings">
                 <DeployClass Name="Android_Strings">
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <RemoteDir>res\values</RemoteDir>
                         <RemoteDir>res\values</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>res\values</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="DebugSymbols">
                 <DeployClass Name="DebugSymbols">
                     <Platform Name="iOSSimulator">
                     <Platform Name="iOSSimulator">
@@ -783,9 +682,6 @@
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <Operation>0</Operation>
                         <Operation>0</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>0</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                     <Platform Name="iOSDevice32">
                         <Operation>0</Operation>
                         <Operation>0</Operation>
                     </Platform>
                     </Platform>
@@ -816,6 +712,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPad_Launch1536">
                     <Platform Name="iOSDevice32">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                         <Operation>1</Operation>
@@ -827,6 +734,39 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPad_Launch2048">
                     <Platform Name="iOSDevice32">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                         <Operation>1</Operation>
@@ -838,6 +778,61 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -859,6 +854,17 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -869,6 +875,105 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -922,6 +1027,28 @@
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
                 </DeployClass>
                 </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">
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -946,9 +1073,6 @@
                     <Platform Name="Android">
                     <Platform Name="Android">
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <Operation>1</Operation>
-                    </Platform>
                 </DeployClass>
                 </DeployClass>
                 <DeployClass Name="ProjectiOSDeviceDebug">
                 <DeployClass Name="ProjectiOSDeviceDebug">
                     <Platform Name="iOSDevice32">
                     <Platform Name="iOSDevice32">
@@ -993,10 +1117,6 @@
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>
-                    <Platform Name="Android64">
-                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
                     <Platform Name="iOSDevice32">
                     <Platform Name="iOSDevice32">
                         <Operation>1</Operation>
                         <Operation>1</Operation>
                     </Platform>
                     </Platform>

+ 231 - 110
Packages/GLScene_Sounds_DT.dproj

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

+ 30 - 29
Source/GLCanvas.pas

@@ -72,92 +72,93 @@ type
       const baseTransform: TMatrix); overload;
       const baseTransform: TMatrix); overload;
     constructor Create(bufferSizeX, bufferSizeY: Integer); overload;
     constructor Create(bufferSizeX, bufferSizeY: Integer); overload;
     destructor Destroy; override;
     destructor Destroy; override;
-    { Stops the current internal primitive.
+    (* Stops the current internal primitive.
       This function is invoked automatically by TGLCanvas when changeing
       This function is invoked automatically by TGLCanvas when changeing
       primitives, you should directly call if you want to render your
       primitives, you should directly call if you want to render your
       own stuff intertwined with TGLCanvas drawings. In that case, call
       own stuff intertwined with TGLCanvas drawings. In that case, call
-      it before your own OpenGL calls. }
+      it before your own OpenGL calls. *)
     procedure StopPrimitive;
     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
       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;
     procedure InvertYAxis;
     property CanvasSizeX: Integer read FBufferSizeX;
     property CanvasSizeX: Integer read FBufferSizeX;
     property CanvasSizeY: Integer read FBufferSizeY;
     property CanvasSizeY: Integer read FBufferSizeY;
-    {Current Pen Color. }
+    // Current Pen Color. 
     property PenColor: TColor read FPenColor write SetPenColor;
     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;
     property PenAlpha : Single read GetPenAlpha write SetPenAlpha;
-    {Current Pen Width. }
+    // Current Pen Width. 
     property PenWidth: Integer read FPenWidth write SetPenWidth;
     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: Integer); overload;
     procedure MoveTo(const x, y: Single); 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: Integer); overload;
     procedure MoveToRel(const x, y: Single); 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: Integer); overload;
     procedure LineTo(const x, y: Single); overload;
     procedure LineTo(const x, y: Single); overload;
     procedure LineToRel(const x, y: Integer); overload;
     procedure LineToRel(const x, y: Integer); overload;
     procedure LineToRel(const x, y: Single); 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: Integer); overload;
     procedure Line(const x1, y1, x2, y2: Single); 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
        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);
     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);
     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: Integer); overload;
     procedure PlotPixel(const x, y: Single); 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: Integer); overload;
     procedure FrameRect(const x1, y1, x2, y2: Single); 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: Integer); overload;
     procedure FillRect(const x1, y1, x2, y2: Single); 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;
     procedure FillRectGradient(const x1, y1, x2, y2: Single;
       const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TColorVector); overload;
       const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TColorVector); overload;
     procedure FillRectGradient(const x1, y1, x2, y2: Integer;
     procedure FillRectGradient(const x1, y1, x2, y2: Integer;
       const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TColorVector); overload;
       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: Integer); overload;
     procedure EllipseBB(const x1, y1, x2, y2: Single); 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: Integer; const xRadius, yRadius: Single); overload;
     procedure Ellipse(const x, y: Single; 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;
     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: Integer; const xRadius, yRadius: Single); overload;
     procedure FillEllipse(const x, y: Single; 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;
     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;
     procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single;
       const edgeColor: TColorVector); overload;
       const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y: Integer;
     procedure FillEllipseGradient(const x, y: Integer;
       const xRadius, yRadius: Integer; const edgeColor: TColorVector); overload;
       const xRadius, yRadius: Integer; const edgeColor: TColorVector); overload;
     procedure FillEllipseGradient(const x, y, Radius: Single;
     procedure FillEllipseGradient(const x, y, Radius: Single;
       const edgeColor: TColorVector); overload;
       const edgeColor: TColorVector); overload;
-    {Draw an elliptical arc.
+    (* Draw an elliptical arc.
        The points (x1, y1) and (x2, y2) specify the bounding rectangle.
        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.
        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 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.
        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.
        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.
        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: Integer); overload;
     procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Single); 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;
     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: Integer); overload;
     procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Single); 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;
     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}
 {$IFDEF USE_SERVICE_CONTEXT}
   GLSGenerics,
   GLSGenerics,
 {$ENDIF}
 {$ENDIF}
+
   OpenGLTokens,
   OpenGLTokens,
   OpenGLAdapter,
   OpenGLAdapter,
   XOpenGL,
   XOpenGL,
@@ -36,7 +37,7 @@ uses
 
 
 // Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)
 // Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)
 const
 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
 type
   TGLRCOption = (rcoDoubleBuffered, rcoStereo, rcoDebug, rcoOGL_ES);
   TGLRCOption = (rcoDoubleBuffered, rcoStereo, rcoDebug, rcoOGL_ES);
@@ -107,8 +108,8 @@ type
     procedure SetActive(const aActive: Boolean); inline;
     procedure SetActive(const aActive: Boolean); inline;
     procedure SetLayer(const Value: TGLContextLayer); inline;
     procedure SetLayer(const Value: TGLContextLayer); inline;
   protected
   protected
-    FGL: TGLExtensionsAndEntryPoints;
-    FXGL: TGLMultitextureCoordinator;
+    Fgl: TGLExtensionsAndEntryPoints;
+    Fxgl: TGLMultitextureCoordinator;
     FGLStates: TGLStateCache;
     FGLStates: TGLStateCache;
     FTransformation: TGLTransformation;
     FTransformation: TGLTransformation;
     FAcceleration: TGLContextAcceleration;
     FAcceleration: TGLContextAcceleration;
@@ -198,8 +199,8 @@ type
     procedure DestroyAllHandles;
     procedure DestroyAllHandles;
     function RenderOutputDevice: Pointer; virtual; abstract;
     function RenderOutputDevice: Pointer; virtual; abstract;
     // Access to OpenGL command and extension
     // 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;
     property IsPraparationNeed: Boolean read FIsPraparationNeed;
   end;
   end;
 
 
@@ -216,15 +217,15 @@ type
     FWidth, FHeight: Integer;
     FWidth, FHeight: Integer;
     FFullScreen: Boolean;
     FFullScreen: Boolean;
   public
   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;
     property FullScreen: Boolean read FFullScreen write FFullScreen;
   end;
   end;
 
 
   PGLRCHandle = ^TGLRCHandle;
   PGLRCHandle = ^TGLRCHandle;
   TGLRCHandle = record
   TGLRCHandle = record
     FRenderingContext: TGLContext;
     FRenderingContext: TGLContext;
-    FHandle: Cardinal;
+    FHandle: TGLuint;
     FChanged: Boolean;
     FChanged: Boolean;
   end;
   end;
 
 
@@ -239,7 +240,7 @@ type
     FHandles: TList;
     FHandles: TList;
     FLastHandle: PGLRCHandle;
     FLastHandle: PGLRCHandle;
     FOnPrepare: TOnPrepareHandleData;
     FOnPrepare: TOnPrepareHandleData;
-    function GetHandle: Cardinal; inline;
+    function GetHandle: TGLuint; inline;
     function GetContext: TGLContext;
     function GetContext: TGLContext;
     function SearchRC(aContext: TGLContext): PGLRCHandle;
     function SearchRC(aContext: TGLContext): PGLRCHandle;
     function RCItem(AIndex: Integer): PGLRCHandle; inline;
     function RCItem(AIndex: Integer): PGLRCHandle; inline;
@@ -249,15 +250,15 @@ type
     procedure ContextDestroying;
     procedure ContextDestroying;
     // Specifies if the handle can be transfered across shared contexts
     // Specifies if the handle can be transfered across shared contexts
     class function Transferable: Boolean; virtual;
     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
   public
     constructor Create; virtual;
     constructor Create; virtual;
     constructor CreateAndAllocate(failIfAllocationFailed: Boolean = True);
     constructor CreateAndAllocate(failIfAllocationFailed: Boolean = True);
     destructor Destroy; override;
     destructor Destroy; override;
     // Return OpenGL identifier in current context
     // 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
     (* Return current rendering context if handle is allocated in it
       or first context where handle is allocated. *)
       or first context where handle is allocated. *)
     property RenderingContext: TGLContext read GetContext;
     property RenderingContext: TGLContext read GetContext;
@@ -273,13 +274,13 @@ type
     class function IsSupported: Boolean; virtual;
     class function IsSupported: Boolean; virtual;
     function IsAllocatedForContext(aContext: TGLContext = nil): Boolean;
     function IsAllocatedForContext(aContext: TGLContext = nil): Boolean;
     function IsShared: Boolean;
     function IsShared: Boolean;
-    function AllocateHandle: Cardinal;
+    function AllocateHandle: TGLuint;
     procedure DestroyHandle;
     procedure DestroyHandle;
     property OnPrapare: TOnPrepareHandleData read FOnPrepare write FOnPrepare;
     property OnPrapare: TOnPrepareHandleData read FOnPrepare write FOnPrepare;
   end;
   end;
 
 
   TGLVirtualHandle = class;
   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
   // A context handle with event-based handle allocation and destruction
   TGLVirtualHandle = class(TGLContextHandle)
   TGLVirtualHandle = class(TGLContextHandle)
@@ -287,8 +288,8 @@ type
     FOnAllocate, FOnDestroy: TGLVirtualHandleEvent;
     FOnAllocate, FOnDestroy: TGLVirtualHandleEvent;
     FTag: Integer;
     FTag: Integer;
   protected
   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;
     class function Transferable: Boolean; override;
   public
   public
     property OnAllocate: TGLVirtualHandleEvent read FOnAllocate write FOnAllocate;
     property OnAllocate: TGLVirtualHandleEvent read FOnAllocate write FOnAllocate;
@@ -305,11 +306,11 @@ type
   // Manages a handle to a display list
   // Manages a handle to a display list
   TGLListHandle = class(TGLContextHandle)
   TGLListHandle = class(TGLContextHandle)
   protected
   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
   public
-    procedure NewList(mode: Cardinal); inline;
+    procedure NewList(mode: TGLuint); inline;
     procedure EndList; inline;
     procedure EndList; inline;
     procedure CallList; inline;
     procedure CallList; inline;
   end;
   end;
@@ -320,9 +321,9 @@ type
     FTarget: TGLTextureTarget;
     FTarget: TGLTextureTarget;
     procedure SetTarget(ATarget: TGLTextureTarget);
     procedure SetTarget(ATarget: TGLTextureTarget);
   protected
   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
   public
     property Target: TGLTextureTarget read FTarget write SetTarget;
     property Target: TGLTextureTarget read FTarget write SetTarget;
   end;
   end;
@@ -330,9 +331,9 @@ type
   // Manages a handle to a sampler
   // Manages a handle to a sampler
   TGLSamplerHandle = class(TGLContextHandle)
   TGLSamplerHandle = class(TGLContextHandle)
   protected
   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
   public
 
 
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -345,11 +346,11 @@ type
     FActive: Boolean;
     FActive: Boolean;
   protected
   protected
     class function Transferable: Boolean; override;
     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;
     function GetQueryType: TGLQueryType; virtual; abstract;
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   public
   public
     procedure BeginQuery;
     procedure BeginQuery;
     procedure EndQuery;
     procedure EndQuery;
@@ -359,12 +360,12 @@ type
     // Number of bits used to store the query result. eg. 32/64 bit
     // Number of bits used to store the query result. eg. 32/64 bit
     function CounterBits: Integer;
     function CounterBits: Integer;
     // Retrieve query result, may cause a stall if the result is not available yet
     // 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 QueryResultInt64: TGLint64EXT;
     function QueryResultUInt64: TGLuint64EXT;
     function QueryResultUInt64: TGLuint64EXT;
     function QueryResultBool: TGLboolean;
     function QueryResultBool: TGLboolean;
-    property Target: Cardinal read GetTarget;
+    property Target: TGLuint read GetTarget;
     property QueryType: TGLQueryType read GetQueryType;
     property QueryType: TGLQueryType read GetQueryType;
     // True if within a Begin/EndQuery.
     // True if within a Begin/EndQuery.
     property Active: Boolean read FActive;
     property Active: Boolean read FActive;
@@ -376,7 +377,7 @@ type
     checked by the user. *)
     checked by the user. *)
   TGLOcclusionQueryHandle = class(TGLQueryHandle)
   TGLOcclusionQueryHandle = class(TGLQueryHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
     function GetQueryType: TGLQueryType; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -387,7 +388,7 @@ type
 
 
   TGLBooleanOcclusionQueryHandle = class(TGLQueryHandle)
   TGLBooleanOcclusionQueryHandle = class(TGLQueryHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
     function GetQueryType: TGLQueryType; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -399,7 +400,7 @@ type
     checked by the user. *)
     checked by the user. *)
   TGLTimerQueryHandle = class(TGLQueryHandle)
   TGLTimerQueryHandle = class(TGLQueryHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
     function GetQueryType: TGLQueryType; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -415,7 +416,7 @@ type
     checked by the user. *)
     checked by the user. *)
   TGLPrimitiveQueryHandle = class(TGLQueryHandle)
   TGLPrimitiveQueryHandle = class(TGLQueryHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
     function GetQueryType: TGLQueryType; override;
     function GetQueryType: TGLQueryType; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -431,30 +432,30 @@ type
   private
   private
     FSize: Integer;
     FSize: Integer;
   protected
   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
   public
     // Creates the buffer object buffer and initializes it.
     // 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;
     procedure Bind; virtual; abstract;
     // Note that it is not necessary to UnBind before Binding another buffer.
     // Note that it is not necessary to UnBind before Binding another buffer.
     procedure UnBind; virtual; abstract;
     procedure UnBind; virtual; abstract;
     (* Bind a buffer object to an indexed target, used by transform feedback
     (* Bind a buffer object to an indexed target, used by transform feedback
       buffer objects and uniform buffer objects. (OpenGL 3.0+) *)
       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.
     // 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.
     (* Specifies buffer content.
       Common bufferUsage values are GL_STATIC_DRAW_ARB for data that will
       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
       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
       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. *)
       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
     // 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.
     (* Updates part of an already existing buffer.
       offset and size indicate which part of the data in the buffer is
       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. *)
       to bo modified and p where the data should be taken from. *)
@@ -464,14 +465,14 @@ type
       GL_READ_WRITE_ARB.
       GL_READ_WRITE_ARB.
       Valid only if the buffer has been bound, must be followed by
       Valid only if the buffer has been bound, must be followed by
       an UnmapBuffer, only one buffer may be mapped at a time. *)
       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.
     (* Unmap buffer content from memory.
       Must follow a MapBuffer, and happen before the buffer is unbound. *)
       Must follow a MapBuffer, and happen before the buffer is unbound. *)
     function UnmapBuffer: Boolean;
     function UnmapBuffer: Boolean;
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
-    property Target: Cardinal read GetTarget;
+    property Target: TGLuint read GetTarget;
     property BufferSize: Integer read FSize;
     property BufferSize: Integer read FSize;
   end;
   end;
 
 
@@ -481,15 +482,15 @@ type
     Do not use this class directly, use one of its subclasses instead. *)
     Do not use this class directly, use one of its subclasses instead. *)
   TGLVBOHandle = class(TGLBufferObjectHandle)
   TGLVBOHandle = class(TGLBufferObjectHandle)
   private
   private
-    function GetVBOTarget: Cardinal;
+    function GetVBOTarget: TGLuint;
   public
   public
-    property VBOTarget: Cardinal read GetVBOTarget;
+    property VBOTarget: TGLuint read GetVBOTarget;
   end;
   end;
 
 
   // Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.
   // Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.
   TGLVBOArrayBufferHandle = class(TGLVBOHandle)
   TGLVBOArrayBufferHandle = class(TGLVBOHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
@@ -498,7 +499,7 @@ type
   // Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.
   // Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.
   TGLVBOElementArrayHandle = class(TGLVBOHandle)
   TGLVBOElementArrayHandle = class(TGLVBOHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
@@ -508,7 +509,7 @@ type
     When bound, commands such as ReadPixels write their data into a buffer object. *)
     When bound, commands such as ReadPixels write their data into a buffer object. *)
   TGLPackPBOHandle = class(TGLBufferObjectHandle)
   TGLPackPBOHandle = class(TGLBufferObjectHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
@@ -520,7 +521,7 @@ type
     their data from a buffer object *)
     their data from a buffer object *)
   TGLUnpackPBOHandle = class(TGLBufferObjectHandle)
   TGLUnpackPBOHandle = class(TGLBufferObjectHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
@@ -536,15 +537,15 @@ type
     // FTransformFeedbackBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     // FTransformFeedbackBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     // FTransformFeedbackBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     // FTransformFeedbackBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
-    procedure BeginTransformFeedback(primitiveMode: Cardinal);
+    procedure BeginTransformFeedback(primitiveMode: TGLuint);
     procedure EndTransformFeedback();
     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;
     class function IsSupported: Boolean; override;
   end;
   end;
@@ -552,7 +553,7 @@ type
   // Manages a handle to a Buffer Texture. (TBO)
   // Manages a handle to a Buffer Texture. (TBO)
   TGLTextureBufferHandle = class(TGLBufferObjectHandle)
   TGLTextureBufferHandle = class(TGLBufferObjectHandle)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; override;
     procedure UnBind; override;
@@ -563,17 +564,17 @@ type
     Uniform buffer objects store "uniform blocks"; groups of uniforms
     Uniform buffer objects store "uniform blocks"; groups of uniforms
     that can be passed as a group into a GLSL program *)
     that can be passed as a group into a GLSL program *)
   TGLUniformBufferHandle = class(TGLBufferObjectHandle)
   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, ...)
     /// FUniformBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     /// FUniformBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
     /// FUniformBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)
   protected
   protected
-    function GetTarget: Cardinal; override;
+    function GetTarget: TGLuint; override;
   public
   public
     procedure Bind; override;
     procedure Bind; override;
     procedure UnBind; 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;
     class function IsSupported: Boolean; override;
   end;
   end;
 
 
@@ -582,9 +583,9 @@ type
   TGLVertexArrayHandle = class(TGLContextHandle)
   TGLVertexArrayHandle = class(TGLContextHandle)
   protected
   protected
     class function Transferable: Boolean; override;
     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
   public
     procedure Bind;
     procedure Bind;
     procedure UnBind;
     procedure UnBind;
@@ -614,9 +615,9 @@ type
   TGLFramebufferHandle = class(TGLContextHandle)
   TGLFramebufferHandle = class(TGLContextHandle)
   protected
   protected
     class function Transferable: Boolean; override;
     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
   public
     // Bind framebuffer for both drawing + reading
     // Bind framebuffer for both drawing + reading
     procedure Bind;
     procedure Bind;
@@ -630,23 +631,22 @@ type
     procedure UnBindForReading;
     procedure UnBindForReading;
     // target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (attach to both READ + DRAW)
     // target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (attach to both READ + DRAW)
     // attachment = COLOR_ATTACHMENTi, DEPTH_ATTACHMENT, STENCIL_ATTACHMENT, DEPTH_STENCIL_ATTACHMENT
     // 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.
     (* OpenGL 3.2+ only.
      If texture is the name of a three-dimensional texture, cube map texture, one-or
      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
      two-dimensional array texture, or two-dimensional multisample array texture, the
      texture level attached to the framebuffer attachment point is an array of images,
      texture level attached to the framebuffer attachment point is an array of images,
      and the framebuffer attachment is considered layered *)
      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
     // 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
     // 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)
     (* target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (equivalent to GL_DRAW_FRAMEBUFFER)
      If default framebuffer (0) is bound:
      If default framebuffer (0) is bound:
      attachment = GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, or GL_BACK_RIGHT, GL_DEPTH, GL_STENCIL
      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,
      param = GL_FRAMEBUFFER_ATTACHMENT_(OBJECT_TYPE, OBJECT_NAME,
      RED_SIZE, GREEN_SIZE, BLUE_SIZE, ALPHA_SIZE, DEPTH_SIZE, STENCIL_SIZE,
      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 *)
      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:
     (* Returns the type of object bound to attachment point:
      GL_NONE, GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER *)
      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
     // 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 GetStatus: TGLFramebufferStatus;
     function GetStringStatus(out clarification: string): TGLFramebufferStatus;
     function GetStringStatus(out clarification: string): TGLFramebufferStatus;
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -672,14 +672,14 @@ type
     buffer types which have no corresponding texture format (stencil, accum, etc). *)
     buffer types which have no corresponding texture format (stencil, accum, etc). *)
   TGLRenderbufferHandle = class(TGLContextHandle)
   TGLRenderbufferHandle = class(TGLContextHandle)
   protected
   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
   public
     procedure Bind;
     procedure Bind;
     procedure UnBind;
     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;
     class function IsSupported: Boolean; override;
   end;
   end;
 
 
@@ -688,10 +688,10 @@ type
     FReady: Boolean;
     FReady: Boolean;
     FInfoLog: string;
     FInfoLog: string;
   protected
   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
   public
     procedure LoadARBProgram(const AText: string);
     procedure LoadARBProgram(const AText: string);
     procedure Enable;
     procedure Enable;
@@ -703,21 +703,21 @@ type
 
 
   TGLARBVertexProgramHandle = class(TGLARBProgramHandle)
   TGLARBVertexProgramHandle = class(TGLARBProgramHandle)
   protected
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
   end;
   end;
 
 
   TGLARBFragmentProgramHandle = class(TGLARBProgramHandle)
   TGLARBFragmentProgramHandle = class(TGLARBProgramHandle)
   protected
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
   end;
   end;
 
 
   TGLARBGeometryProgramHandle = class(TGLARBProgramHandle)
   TGLARBGeometryProgramHandle = class(TGLARBProgramHandle)
   protected
   protected
-    class function GetTarget: Cardinal; override;
+    class function GetTarget: TGLuint; override;
   public
   public
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
   end;
   end;
@@ -726,7 +726,7 @@ type
     Do not use this class directly, use one of its subclasses instead *)
     Do not use this class directly, use one of its subclasses instead *)
   TGLSLHandle = class(TGLContextHandle)
   TGLSLHandle = class(TGLContextHandle)
   protected
   protected
-    procedure DoDestroyHandle(var AHandle: Cardinal); override;
+    procedure DoDestroyHandle(var AHandle: TGLuint); override;
   public
   public
     function InfoLog: string;
     function InfoLog: string;
     class function IsSupported: Boolean; override;
     class function IsSupported: Boolean; override;
@@ -738,15 +738,15 @@ type
     Do not use this class directly, use one of its subclasses instead *)
     Do not use this class directly, use one of its subclasses instead *)
   TGLShaderHandle = class(TGLSLHandle)
   TGLShaderHandle = class(TGLSLHandle)
   private
   private
-    FShaderType: Cardinal;
+    FShaderType: TGLuint;
   protected
   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
   public
     procedure ShaderSource(const source: AnsiString); overload;
     procedure ShaderSource(const source: AnsiString); overload;
     // Returns True if compilation sucessful
     // Returns True if compilation sucessful
     function CompileShader: Boolean;
     function CompileShader: Boolean;
-    property ShaderType: Cardinal read FShaderType;
+    property ShaderType: TGLuint read FShaderType;
   end;
   end;
 
 
   TGLShaderHandleClass = class of TGLShaderHandle;
   TGLShaderHandleClass = class of TGLShaderHandle;
@@ -791,7 +791,7 @@ type
     checked by the user *)
     checked by the user *)
   TGLProgramHandle = class(TGLSLHandle)
   TGLProgramHandle = class(TGLSLHandle)
   public
   public
-    class function IsValid(const ID: Cardinal): Boolean; override;
+    class function IsValid(const ID: TGLuint): Boolean; override;
   private
   private
     FName: string;
     FName: string;
     function GetUniform1i(const index: string): Integer;
     function GetUniform1i(const index: string): Integer;
@@ -817,12 +817,12 @@ type
     function GetUniformMatrix4fv(const index: string): TMatrix;
     function GetUniformMatrix4fv(const index: string): TMatrix;
     procedure SetUniformMatrix4fv(const index: string; const val: TMatrix);
     procedure SetUniformMatrix4fv(const index: string; const val: TMatrix);
     function GetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget)
     function GetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget)
-      : Cardinal;
+      : TGLuint;
     procedure SetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget;
     procedure SetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget;
-      const Value: Cardinal);
+      const Value: TGLuint);
     procedure SetUniformBuffer(const Index: string; Value: TGLUniformBufferHandle);
     procedure SetUniformBuffer(const Index: string; Value: TGLUniformBufferHandle);
   protected
   protected
-    function DoAllocateHandle: Cardinal; override;
+    function DoAllocateHandle: TGLuint; override;
   public
   public
     property Name: string read FName write FName;
     property Name: string read FName write FName;
     constructor Create; override;
     constructor Create; override;
@@ -868,7 +868,7 @@ type
     property UniformMatrix3fv[const index: string]: TMatrix3f read GetUniformMatrix3fv write SetUniformMatrix3fv;
     property UniformMatrix3fv[const index: string]: TMatrix3f read GetUniformMatrix3fv write SetUniformMatrix3fv;
     property UniformMatrix4fv[const index: string]: TMatrix read GetUniformMatrix4fv write SetUniformMatrix4fv;
     property UniformMatrix4fv[const index: string]: TMatrix read GetUniformMatrix4fv write SetUniformMatrix4fv;
     property UniformTextureHandle[const index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget]
     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;
     property UniformBuffer[const index: string]: TGLUniformBufferHandle write SetUniformBuffer;
   end;
   end;
 
 
@@ -957,13 +957,12 @@ var
   vIgnoreOpenGLErrors: Boolean = False;
   vIgnoreOpenGLErrors: Boolean = False;
   vContextActivationFailureOccurred: Boolean = False;
   vContextActivationFailureOccurred: Boolean = False;
 
 
-{$IFNDEF USE_MULTITHREAD}
-
-var
-{$ELSE}
+{$IFDEF USE_MULTITHREAD}
   threadvar
   threadvar
+{$ELSE}
+  var
 {$ENDIF}
 {$ENDIF}
-    vCurrentGLContext: TGLContext;
+  vCurrentGLContext: TGLContext;
   GL: TGLExtensionsAndEntryPoints;
   GL: TGLExtensionsAndEntryPoints;
   xgl: TGLMultitextureCoordinator;
   xgl: TGLMultitextureCoordinator;
   vMainThread: Boolean;
   vMainThread: Boolean;
@@ -2343,7 +2342,7 @@ begin
   vCurrentGLContext.GLStates.ElementBufferBinding := 0;
   vCurrentGLContext.GLStates.ElementBufferBinding := 0;
 end;
 end;
 
 
-function TGLVBOElementArrayHandle.GetTarget: Cardinal;
+function TGLVBOElementArrayHandle.GetTarget: TGLuint;
 begin
 begin
   Result := GL_ELEMENT_ARRAY_BUFFER;
   Result := GL_ELEMENT_ARRAY_BUFFER;
 end;
 end;
@@ -2362,14 +2361,14 @@ begin
   vCurrentGLContext.GLStates.PixelPackBufferBinding := 0;
   vCurrentGLContext.GLStates.PixelPackBufferBinding := 0;
 end;
 end;
 
 
-function TGLPackPBOHandle.GetTarget: Cardinal;
+function TGLPackPBOHandle.GetTarget: TGLuint;
 begin
 begin
   Result := GL_PIXEL_PACK_BUFFER;
   Result := GL_PIXEL_PACK_BUFFER;
 end;
 end;
 
 
 class function TGLPackPBOHandle.IsSupported: Boolean;
 class function TGLPackPBOHandle.IsSupported: Boolean;
 begin
 begin
-  Result := gl.ARB_pixel_buffer_object;
+  Result := GL.ARB_pixel_buffer_object;
 end;
 end;
 
 
 // ------------------
 // ------------------
@@ -2410,13 +2409,13 @@ begin
   vCurrentGLContext.GLStates.TransformFeedbackBufferBinding := 0;
   vCurrentGLContext.GLStates.TransformFeedbackBufferBinding := 0;
 end;
 end;
 
 
-function TGLTransformFeedbackBufferHandle.GetTarget: Cardinal;
+function TGLTransformFeedbackBufferHandle.GetTarget: TGLuint;
 begin
 begin
   Result := GL_TRANSFORM_FEEDBACK_BUFFER;
   Result := GL_TRANSFORM_FEEDBACK_BUFFER;
 end;
 end;
 
 
 procedure TGLTransformFeedbackBufferHandle.BeginTransformFeedback
 procedure TGLTransformFeedbackBufferHandle.BeginTransformFeedback
-  (primitiveMode: Cardinal);
+  (primitiveMode: TGLuint);
 begin
 begin
   gl.BeginTransformFeedback(primitiveMode);
   gl.BeginTransformFeedback(primitiveMode);
 end;
 end;
@@ -2443,7 +2442,7 @@ end;
 
 
 class function TGLTransformFeedbackBufferHandle.IsSupported: Boolean;
 class function TGLTransformFeedbackBufferHandle.IsSupported: Boolean;
 begin
 begin
-  Result := gl.EXT_transform_feedback or gl.VERSION_3_0;
+  Result := GL.EXT_transform_feedback;
 end;
 end;
 
 
 // ------------------
 // ------------------
@@ -2681,7 +2680,7 @@ end;
 
 
 function TGLFramebufferHandle.GetStatus: TGLFramebufferStatus;
 function TGLFramebufferHandle.GetStatus: TGLFramebufferStatus;
 var
 var
-  Status: Cardinal;
+  Status: TGLuint;
 begin
 begin
   Status := gl.CheckFramebufferStatus(GL_FRAMEBUFFER);
   Status := gl.CheckFramebufferStatus(GL_FRAMEBUFFER);
 
 

+ 0 - 1
Source/GLFullScreenViewer.pas

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

+ 119 - 131
Source/GLMaterial.pas

@@ -29,11 +29,11 @@ uses
   GLPersistentClasses,
   GLPersistentClasses,
   GLState,
   GLState,
   GLTextureFormat, 
   GLTextureFormat, 
-  GLS.Strings, 
   XOpenGL,
   XOpenGL,
-  GLApplicationFileIO, 
-  GLGraphics, 
+  GLApplicationFileIO,
+  GLGraphics,
   GLUtils,
   GLUtils,
+  GLS.Strings,
   GLS.Logger;
   GLS.Logger;
 
 
 {$UNDEF USE_MULTITHREAD}
 {$UNDEF USE_MULTITHREAD}
@@ -52,16 +52,16 @@ type
   TGLAbstractLibMaterial = class;
   TGLAbstractLibMaterial = class;
   TGLLibMaterial = 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
       ssHighLevel: shader is applied before material application, and unapplied
            after material unapplication
            after material unapplication
       ssLowLevel: shader is applied after material application, and unapplied
       ssLowLevel: shader is applied after material application, and unapplied
            before material unapplication
            before material unapplication
       ssReplace: shader is applied in place of the material (and material
       ssReplace: shader is applied in place of the material (and material
-           is completely ignored)}
+           is completely ignored)*)
   TGLShaderStyle = (ssHighLevel, ssLowLevel, ssReplace);
   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
       fiaSilentdisable:          just disable it
       fiaRaiseHandledException:  raise an exception, and handle it right away
       fiaRaiseHandledException:  raise an exception, and handle it right away
                                     (usefull, when debigging within Delphi)
                                     (usefull, when debigging within Delphi)
@@ -75,17 +75,17 @@ type
       Note: HandleFailedInitialization does *not* create this event,
       Note: HandleFailedInitialization does *not* create this event,
       it is left to user shaders which may chose to override this procedure.
       it is left to user shaders which may chose to override this procedure.
       Commented out, because not sure if this option should exist,
       Commented out, because not sure if this option should exist,
-      let other generations of developers decide ;) }
+      let other generations of developers decide ;) *)
   TGLShaderFailedInitAction = (
   TGLShaderFailedInitAction = (
     fiaSilentDisable, fiaRaiseStandardException, fiaRaiseHandledException,
     fiaSilentDisable, fiaRaiseStandardException, fiaRaiseHandledException,
     fiaReRaiseException {,fiaGenerateEvent});
     fiaReRaiseException {,fiaGenerateEvent});
 
 
-  {Generic, abstract shader class.
+  (* Generic, abstract shader class.
      Shaders are modeled here as an abstract material-altering entity with
      Shaders are modeled here as an abstract material-altering entity with
      transaction-like behaviour. The base class provides basic context and user
      transaction-like behaviour. The base class provides basic context and user
      tracking, as well as setup/application facilities.
      tracking, as well as setup/application facilities.
      Subclasses are expected to provide implementation for DoInitialize,
      Subclasses are expected to provide implementation for DoInitialize,
-     DoApply, DoUnApply and DoFinalize. }
+     DoApply, DoUnApply and DoFinalize. *)
   TGLShader = class(TGLUpdateAbleComponent)
   TGLShader = class(TGLUpdateAbleComponent)
   private
   private
     FEnabled: Boolean;
     FEnabled: Boolean;
@@ -96,71 +96,69 @@ type
     FShaderActive: Boolean;
     FShaderActive: Boolean;
     FFailedInitAction: TGLShaderFailedInitAction;
     FFailedInitAction: TGLShaderFailedInitAction;
   protected
   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;
     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;
     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.
        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;
     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;
     procedure DoFinalize; virtual;
     function GetShaderInitialized: Boolean;
     function GetShaderInitialized: Boolean;
     procedure InitializeShader(var rci: TGLRenderContextInfo; Sender: TObject);
     procedure InitializeShader(var rci: TGLRenderContextInfo; Sender: TObject);
     procedure FinalizeShader;
     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);
     procedure SetEnabled(val: Boolean);
     property ShaderInitialized: Boolean read GetShaderInitialized;
     property ShaderInitialized: Boolean read GetShaderInitialized;
     property ShaderActive: Boolean read FShaderActive;
     property ShaderActive: Boolean read FShaderActive;
     procedure RegisterUser(libMat: TGLLibMaterial);
     procedure RegisterUser(libMat: TGLLibMaterial);
     procedure UnRegisterUser(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 = '');
     procedure HandleFailedInitialization(const LastErrorMessage: string = '');
       virtual;
       virtual;
-    {May be this should be a function inside HandleFailedInitialization... }
+    // May be this should be a function inside HandleFailedInitialization... 
     function GetStardardNotSupportedMessage: string; virtual;
     function GetStardardNotSupportedMessage: string; virtual;
   public
   public
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; 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 NotifyChange(Sender: TObject); override;
     procedure BeginUpdate;
     procedure BeginUpdate;
     procedure EndUpdate;
     procedure EndUpdate;
-    {Apply shader to OpenGL state machine.}
+    // Apply shader to OpenGL state machine.
     procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
     procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
-    {UnApply shader. 
+    (* UnApply shader. 
        When returning True, the caller is expected to perform a multipass
        When returning True, the caller is expected to perform a multipass
        rendering by re-rendering then invoking UnApply again, until a
        rendering by re-rendering then invoking UnApply again, until a
-       "False" is returned. }
+       "False" is returned. *)
     function UnApply(var rci: TGLRenderContextInfo): Boolean;
     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
     property ShaderStyle: TGLShaderStyle read FShaderStyle write FShaderStyle
       default ssLowLevel;
       default ssLowLevel;
     procedure Assign(Source: TPersistent); override;
     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
        Default - always supported. Descendants are encouraged to override
-       this function. }
+       this function. *)
     function ShaderSupported: Boolean; virtual;
     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
        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
        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
     property FailedInitAction: TGLShaderFailedInitAction
       read FFailedInitAction write FFailedInitAction default
       read FFailedInitAction write FFailedInitAction default
       fiaRaiseStandardException;
       fiaRaiseStandardException;
   published
   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;
     property Enabled: Boolean read FEnabled write SetEnabled default True;
   end;
   end;
 
 
@@ -168,11 +166,11 @@ type
 
 
   TGLShininess = 0..128;
   TGLShininess = 0..128;
 
 
-  {Stores basic face lighting properties.
+  (* Stores basic face lighting properties.
      The lighting is described with the standard ambient/diffuse/emission/specular
      The lighting is described with the standard ambient/diffuse/emission/specular
      properties that behave like those of most rendering tools.
      properties that behave like those of most rendering tools.
      You also have control over shininess (governs specular lighting) and
      You also have control over shininess (governs specular lighting) and
-     polygon mode (lines / fill). }
+     polygon mode (lines / fill). *)
   TGLFaceProperties = class(TGLUpdateAbleObject)
   TGLFaceProperties = class(TGLUpdateAbleObject)
   private
   private
     FAmbient, FDiffuse, FSpecular, FEmission: TGLColor;
     FAmbient, FDiffuse, FSpecular, FEmission: TGLColor;
@@ -218,31 +216,29 @@ type
     procedure Apply(var rci: TGLRenderContextInfo);
     procedure Apply(var rci: TGLRenderContextInfo);
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
   published
   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;
     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;
     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
     property DepthCompareFunction: TGLDepthFunction
       read FCompareFunc write SetCompareFunc default cfLequal;
       read FCompareFunc write SetCompareFunc default cfLequal;
-    {DepthTest enabling. 
+    (* DepthTest enabling. 
        When DepthTest is enabled, objects closer to the camera will hide
        When DepthTest is enabled, objects closer to the camera will hide
        farther ones (via use of Z-Buffering).
        farther ones (via use of Z-Buffering).
        When DepthTest is disabled, the latest objects drawn/rendered overlap
        When DepthTest is disabled, the latest objects drawn/rendered overlap
        all previous objects, whatever their distance to the camera.
        all previous objects, whatever their distance to the camera.
        Even when DepthTest is enabled, objects may chose to ignore depth
        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;
     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;
   end;
 
 
   TGLLibMaterialName = string;
   TGLLibMaterialName = string;
@@ -308,8 +304,8 @@ type
 
 
   TGLFaceCulling = (fcBufferDefault, fcCull, fcNoCull);
   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);
   TGLMaterialOption = (moIgnoreFog, moNoLighting);
   TGLMaterialOptions = set of TGLMaterialOption;
   TGLMaterialOptions = set of TGLMaterialOption;
 
 
@@ -336,7 +332,7 @@ type
     FFaceCulling: TGLFaceCulling;
     FFaceCulling: TGLFaceCulling;
     FPolygonMode: TGLPolygonMode;
     FPolygonMode: TGLPolygonMode;
     currentLibMaterial: TGLAbstractLibMaterial;
     currentLibMaterial: TGLAbstractLibMaterial;
-    { Implementing IGLMaterialLibrarySupported.}
+    // Implementing IGLMaterialLibrarySupported.
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
   protected
   protected
     function GetBackProperties: TGLFaceProperties; inline;
     function GetBackProperties: TGLFaceProperties; inline;
@@ -363,27 +359,26 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure PrepareBuildList;  inline;
     procedure PrepareBuildList;  inline;
     procedure Apply(var rci: TGLRenderContextInfo);
     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;
     function UnApply(var rci: TGLRenderContextInfo): Boolean; inline;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
     procedure NotifyChange(Sender: TObject); override;
     procedure NotifyChange(Sender: TObject); override;
     procedure NotifyTexMapChange(Sender: TObject);
     procedure NotifyTexMapChange(Sender: TObject);
     procedure DestroyHandles;
     procedure DestroyHandles;
     procedure Loaded;
     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;
     function Blended: Boolean; inline;
-    { True if the material has a secondary texture }
+    // True if the material has a secondary texture 
     function HasSecondaryTexture: Boolean;
     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;
     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;
     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;
     function GetActualPrimaryMaterial: TGLMaterial;
-    { Return the LibMaterial (see LibMaterialName)}
+    // Return the LibMaterial (see LibMaterialName)
     function GetLibMaterial: TGLLibMaterial;
     function GetLibMaterial: TGLLibMaterial;
     procedure QuickAssignMaterial(const MaterialLibrary: TGLMaterialLibrary;
     procedure QuickAssignMaterial(const MaterialLibrary: TGLMaterialLibrary;
       const Material: TGLLibMaterial);
       const Material: TGLLibMaterial);
@@ -396,22 +391,16 @@ type
       SetDepthProperties stored StoreMaterialProps;
       SetDepthProperties stored StoreMaterialProps;
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode
       stored StoreMaterialProps default bmOpaque;
       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;
   end;
 
 
   TGLAbstractLibMaterial = class(
   TGLAbstractLibMaterial = class(
@@ -423,10 +412,11 @@ type
     FName: TGLLibMaterialName;
     FName: TGLLibMaterialName;
     FNameHashKey: Integer;
     FNameHashKey: Integer;
     FTag: Integer;
     FTag: Integer;
-    FNotifying: Boolean; // used for recursivity protection
+	// Used for recursivity protection
+    FNotifying: Boolean; 
     {implementing IGLMaterialLibrarySupported}
     {implementing IGLMaterialLibrarySupported}
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
     function GetMaterialLibrary: TGLAbstractMaterialLibrary;
-    {implementing IInterface}
+    // Implementing IInterface
     function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
     function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
     function _AddRef: Integer; stdcall;
     function _AddRef: Integer; stdcall;
     function _Release: Integer; stdcall;
     function _Release: Integer; stdcall;
@@ -440,7 +430,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
     procedure Apply(var ARci: TGLRenderContextInfo); virtual;
     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;
     function UnApply(var ARci: TGLRenderContextInfo): Boolean; virtual;
     procedure RegisterUser(obj: TGLUpdateAbleObject); overload;
     procedure RegisterUser(obj: TGLUpdateAbleObject); overload;
     procedure UnregisterUser(obj: TGLUpdateAbleObject); overload;
     procedure UnregisterUser(obj: TGLUpdateAbleObject); overload;
@@ -449,7 +439,8 @@ type
     procedure RegisterUser(libMaterial: TGLLibMaterial); overload;
     procedure RegisterUser(libMaterial: TGLLibMaterial); overload;
     procedure UnregisterUser(libMaterial: TGLLibMaterial); overload;
     procedure UnregisterUser(libMaterial: TGLLibMaterial); overload;
     procedure NotifyUsers;
     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;
     property NameHashKey: Integer read FNameHashKey;
     procedure NotifyChange(Sender: TObject); virtual;
     procedure NotifyChange(Sender: TObject); virtual;
     function Blended: Boolean; virtual;
     function Blended: Boolean; virtual;
@@ -459,10 +450,10 @@ type
     property Tag: Integer read FTag write FTag;
     property Tag: Integer read FTag write FTag;
   end;
   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)
   TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)
   private
   private
     FMaterial: TGLMaterial;
     FMaterial: TGLMaterial;
@@ -503,22 +494,21 @@ type
     function Blended: Boolean; override;
     function Blended: Boolean; override;
   published
   published
     property Material: TGLMaterial read FMaterial write SetMaterial;
     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
     property TextureOffset: TGLCoordinates read FTextureOffset write
       SetTextureOffset;
       SetTextureOffset;
-    {Texture coordinates scaling.
+    (* Texture coordinates scaling.
        Scaling is applied <i>before</i> applying the offset, and is applied
        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)
        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
     property TextureScale: TGLCoordinates read FTextureScale write
       SetTextureScale;
       SetTextureScale;
     property TextureRotate: Single read FTextureRotate write
     property TextureRotate: Single read FTextureRotate write
       SetTextureRotate stored StoreTextureRotate;
       SetTextureRotate stored StoreTextureRotate;
-    {Reference to the second texture.
+    (* Reference to the second texture.
        The referred LibMaterial *must* be in the same material library.
        The referred LibMaterial *must* be in the same material library.
        Second textures are supported only through ARB multitexturing (ignored
        Second textures are supported only through ARB multitexturing (ignored
-       if not supported). }
+       if not supported). *)
     property Texture2Name: TGLLibMaterialName read FTexture2Name write
     property Texture2Name: TGLLibMaterialName read FTexture2Name write
       SetTexture2Name;
       SetTexture2Name;
     {Optionnal shader for the material. }
     {Optionnal shader for the material. }
@@ -534,7 +524,7 @@ type
       TGLLibMaterialName;
       TGLLibMaterialName;
   end;
   end;
 
 
-  {A collection of materials, mainly used in material libraries. }
+  // A collection of materials, mainly used in material libraries. 
   TGLLibMaterials = class(TGLAbstractLibMaterials)
   TGLLibMaterials = class(TGLAbstractLibMaterials)
   protected
   protected
     procedure SetItems(index: Integer; const val: TGLLibMaterial);
     procedure SetItems(index: Integer; const val: TGLLibMaterial);
@@ -548,19 +538,19 @@ type
     function FindItemID(ID: Integer): TGLLibMaterial;
     function FindItemID(ID: Integer): TGLLibMaterial;
     property Items[index: Integer]: TGLLibMaterial read GetItems write SetItems; default;
     property Items[index: Integer]: TGLLibMaterial read GetItems write SetItems; default;
     function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
     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;
     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;
     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;
     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):
     function GetNameOfLibMaterial(const Material: TGLLibMaterial):
       TGLLibMaterialName;
       TGLLibMaterialName;
     procedure PrepareBuildList;
     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.
        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;
     procedure DeleteUnusedMaterials;
   end;
   end;
 
 
@@ -575,26 +565,26 @@ type
     procedure Loaded; override;
     procedure Loaded; override;
   public
   public
     procedure SetNamesToTStrings(AStrings: TStrings);
     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
        Returns False if the material could not be found. ake sure this
        call is balanced with a corresponding UnApplyMaterial (or an
        call is balanced with a corresponding UnApplyMaterial (or an
        assertion will be triggered in the destructor).
        assertion will be triggered in the destructor).
        If a material is already applied, and has not yet been unapplied,
        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;
     function ApplyMaterial(const AName: string;
       var ARci: TGLRenderContextInfo): Boolean;
       var ARci: TGLRenderContextInfo): Boolean;
-    {Un-applies the last applied material.
+    (* Un-applies the last applied material.
        Use this function in conjunction with ApplyMaterial.
        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;
     function UnApplyMaterial(var ARci: TGLRenderContextInfo): Boolean;
   end;
   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
      Use a material libraries for storing commonly used materials, it provides
      an efficient way to share texture and material data among many objects,
      an efficient way to share texture and material data among many objects,
      thus reducing memory needs and rendering time. 
      thus reducing memory needs and rendering time. 
      Materials in a material library also feature advanced control properties
      Materials in a material library also feature advanced control properties
-     like texture coordinates transforms. }
+     like texture coordinates transforms. *)
   TGLMaterialLibrary = class(TGLAbstractMaterialLibrary)
   TGLMaterialLibrary = class(TGLAbstractMaterialLibrary)
   private
   private
     FDoNotClearMaterialsOnLoad: Boolean;
     FDoNotClearMaterialsOnLoad: Boolean;
@@ -612,50 +602,48 @@ type
     procedure SaveToStream(aStream: TStream); virtual;
     procedure SaveToStream(aStream: TStream); virtual;
     procedure LoadFromStream(aStream: TStream); virtual;
     procedure LoadFromStream(aStream: TStream); virtual;
     procedure AddMaterialsFromStream(aStream: TStream);
     procedure AddMaterialsFromStream(aStream: TStream);
-    {Save library content to a file.
+    (* Save library content to a file.
        Recommended extension : .GLML
        Recommended extension : .GLML
        Currently saves only texture, ambient, diffuse, emission
        Currently saves only texture, ambient, diffuse, emission
-       and specular colors. }
+       and specular colors. *)
     procedure SaveToFile(const fileName: string);
     procedure SaveToFile(const fileName: string);
     procedure LoadFromFile(const fileName: string);
     procedure LoadFromFile(const fileName: string);
     procedure AddMaterialsFromFile(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
        "standard" means linear texturing mode with mipmaps and texture
        modulation mode with default-strength color components.
        modulation mode with default-strength color components.
        If persistent is True, the image will be loaded persistently in memory
        If persistent is True, the image will be loaded persistently in memory
        (via a TGLPersistentImage), if false, it will be unloaded after upload
        (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;
     function AddTextureMaterial(const materialName, fileName: string;
       persistent: Boolean = True): TGLLibMaterial; overload;
       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:
     function AddTextureMaterial(const materialName: string; graphic:
       TGraphic): TGLLibMaterial; overload;
       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;
     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;
     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;
     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
   published
-      {The materials collection. }
+    // The materials collection. 
     property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored
     property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored
       StoreMaterials;
       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,
        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
     property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write
       FOnTextureNeeded;
       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
        You can specify multiple paths when loading a texture, the separator
        being the semi-colon ';' character. Directories are looked up from
        being the semi-colon ';' character. Directories are looked up from
        first to last, the first file name match is used.
        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
        Note that you can also use the OnTextureNeeded event to provide a
-       filename. }
+       filename. *)
     property TexturePaths;
     property TexturePaths;
   end;
   end;
 
 
@@ -797,7 +785,7 @@ begin
     DepthWriteMask := FDepthWrite;
     DepthWriteMask := FDepthWrite;
     DepthFunc := FCompareFunc;
     DepthFunc := FCompareFunc;
     SetDepthRange(FZNear, FZFar);
     SetDepthRange(FZNear, FZFar);
-    if gl.ARB_depth_clamp then
+    if GL.ARB_depth_clamp then
       if FDepthClamp then
       if FDepthClamp then
         Enable(stDepthClamp)
         Enable(stDepthClamp)
       else
       else
@@ -1831,7 +1819,7 @@ begin
   end
   end
   else
   else
     ARci.GLStates.CurrentProgram := 0;
     ARci.GLStates.CurrentProgram := 0;
-  if (Texture2Name <> '') and gl.ARB_multitexture and (not
+  if (Texture2Name <> '') and GL.ARB_multitexture and (not
     xgl.SecondTextureUnitForbidden) then
     xgl.SecondTextureUnitForbidden) then
   begin
   begin
     if not Assigned(libMatTexture2) then
     if not Assigned(libMatTexture2) then
@@ -1907,7 +1895,7 @@ begin
 
 
   if not Result then
   if not Result then
   begin
   begin
-    if Assigned(libMatTexture2) and gl.ARB_multitexture and (not
+    if Assigned(libMatTexture2) and GL.ARB_multitexture and (not
       xgl.SecondTextureUnitForbidden) then
       xgl.SecondTextureUnitForbidden) then
     begin
     begin
       libMatTexture2.Material.Texture.UnApplyAsTexture2(ARci, (not
       libMatTexture2.Material.Texture.UnApplyAsTexture2(ARci, (not

+ 1 - 2
Source/GLS.CUDAGraphics.pas

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

+ 1 - 0
Source/GLS.FileTIN.pas

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

+ 24 - 56
Source/GLS.Logger.pas

@@ -251,9 +251,8 @@ type
 
 
   TIDELogProc = procedure(const AMsg: string);
   TIDELogProc = procedure(const AMsg: string);
 
 
-  // Return logger wich created by TGLSLogger component
+// Return logger wich created by TGLSLogger component
 function UserLog: TLogSession;
 function UserLog: TLogSession;
-function SkipBeforeSTR(var TextFile: Text; const SkipSTR: string): Boolean;
 function ReadLine(var TextFile: Text): string;
 function ReadLine(var TextFile: Text): string;
 
 
 (* Inner logger.
 (* Inner logger.
@@ -279,7 +278,7 @@ var
   vAssertErrorHandler: TAssertErrorProc;
   vAssertErrorHandler: TAssertErrorProc;
   vCurrentLogger: TGLSLogger;
   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;
 function GLSLogger(): TLogSession;
 begin
 begin
   if v_GLSLogger = nil then
   if v_GLSLogger = nil then
@@ -292,7 +291,6 @@ begin
     v_GLSLogger := TLogSession.OnlyCreate;
     v_GLSLogger := TLogSession.OnlyCreate;
 {$ENDIF}
 {$ENDIF}
   end;
   end;
-
   Result := v_GLSLogger;
   Result := v_GLSLogger;
 end;
 end;
 
 
@@ -330,21 +328,14 @@ begin
   try
   try
     with vr do
     with vr do
       case VType of
       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.
         // 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:
         vtObject:
           begin
           begin
@@ -354,24 +345,15 @@ begin
               Result := Result + VObject.classname;
               Result := Result + VObject.classname;
           end;
           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
       else
         Result := Result + Format('[#HLvrType(%d)]', // "Else" not possible...
         Result := Result + Format('[#HLvrType(%d)]', // "Else" not possible...
           [Integer(vr.VType)]); // ...with D6, but laters ?
           [Integer(vr.VType)]); // ...with D6, but laters ?
@@ -415,7 +397,7 @@ end;
 function ConstArrayToString(const Elements: array of const): String;
 function ConstArrayToString(const Elements: array of const): String;
 // -2-> Returns à string, surrounded by parenthesis : '(elts[0]; ...; elts[n-1]);'
 // -2-> Returns à string, surrounded by parenthesis : '(elts[0]; ...; elts[n-1]);'
 // ("Basic infos" only.)
 // ("Basic infos" only.)
-Var
+var
   i: Integer;
   i: Integer;
   s, sep: String;
   s, sep: String;
 Begin
 Begin
@@ -478,21 +460,6 @@ begin
     Result := -1;
     Result := -1;
 end;
 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;
 function ReadLine(var TextFile: Text): string;
 var
 var
   i: Word;
   i: Word;
@@ -660,7 +627,7 @@ begin
   begin
   begin
     FCheckLogSizeThread.Terminate();
     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.
     // But other methods known to me are platform-dependant.
     FCheckLogSizeThread.WaitFor();
     FCheckLogSizeThread.WaitFor();
 
 
@@ -915,7 +882,7 @@ begin
   begin
   begin
     FBufferProcessingThread.Terminate();
     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.
     // But other methods known to me are platform-dependant.
     FBufferProcessingThread.WaitFor();
     FBufferProcessingThread.WaitFor();
 
 
@@ -1214,7 +1181,7 @@ begin
   inc(FLogKindCount[ALevel]);
   inc(FLogKindCount[ALevel]);
   if llMessageLimit[ALevel] < FLogKindCount[ALevel] then
   if llMessageLimit[ALevel] < FLogKindCount[ALevel] then
     case FMessageLimitAction of
     case FMessageLimitAction of
-      mlaContinue: { Do nothing. }
+      mlaContinue: // Do nothing.
         ;
         ;
 
 
       mlaStopLogging:
       mlaStopLogging:
@@ -1252,8 +1219,9 @@ begin
   end;
   end;
 end;
 end;
 
 
+//-------------------------------
 // TLogCheckSizeThread
 // TLogCheckSizeThread
-
+//-------------------------------
 constructor TLogCheckSizeThread.Create(const AParent: TLogSession);
 constructor TLogCheckSizeThread.Create(const AParent: TLogSession);
 begin
 begin
   FParent := AParent;
   FParent := AParent;

+ 9 - 10
Source/GLS.SDLContext.pas

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

+ 4 - 4
Source/GLS.SDLWindow.pas

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

+ 1 - 0
Source/GLS.dwsObjects.pas

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

+ 1 - 1
Source/GLS.dwsOpenGL.pas

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

+ 46 - 48
Source/GLS.vclOpenGL.pas

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

+ 0 - 3
Source/GLSLShader.pas

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

+ 2 - 2
Source/GLScene.pas

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

+ 1 - 1
Source/GLSelection.pas

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

+ 0 - 1
Source/GLSkydome.pas

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

+ 1 - 2
Source/GLSpacePartition.pas

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

+ 3 - 3
Source/GLTextureFormat.pas

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

+ 0 - 1
Source/GLWindowsFont.pas

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

+ 36 - 35
Source/ODEUtils.pas

@@ -15,12 +15,13 @@ unit ODEUtils;
 interface
 interface
 
 
 uses
 uses
-  Winapi.OpenGL,
   System.SysUtils,
   System.SysUtils,
   System.Classes,
   System.Classes,
+
+  ODEImport,
+  OpenGLTokens,
   GLContext,
   GLContext,
   GLVectorGeometry,
   GLVectorGeometry,
-  ODEImport,
   GLScene,
   GLScene,
   GLPersistentClasses,
   GLPersistentClasses,
   GLCoordinates,
   GLCoordinates,
@@ -126,40 +127,40 @@ begin
   lz := Sides[2] * 0.5;
   lz := Sides[2] * 0.5;
 
 
   // sides
   // 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
   // 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
   // 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;
 end;
 
 
 function GLSceneMatrixToODER(m: TMatrix): TdMatrix3;
 function GLSceneMatrixToODER(m: TMatrix): TdMatrix3;
@@ -185,7 +186,7 @@ procedure dsDrawBox(pos: TdVector3; R: TdMatrix3; Sides: TdVector3);
 begin
 begin
   setTransform(pos, R);
   setTransform(pos, R);
   drawBox(sides);
   drawBox(sides);
-  glPopMatrix();
+  gl.PopMatrix();
 end;
 end;
 
 
 procedure setTransform(pos: TdVector3; R: TdMatrix3);
 procedure setTransform(pos: TdVector3; R: TdMatrix3);
@@ -208,8 +209,8 @@ begin
   matrix[13] := pos[1];
   matrix[13] := pos[1];
   matrix[14] := pos[2];
   matrix[14] := pos[2];
   matrix[15] := 1;
   matrix[15] := 1;
-  glPushMatrix();
-  glMultMatrixf(@matrix);
+  gl.PushMatrix();
+  gl.MultMatrixf(@matrix);
 end;
 end;
 
 
 (*$WARNINGS OFF*)
 (*$WARNINGS OFF*)

+ 59 - 50
Source/OpenGLTokens.pas

@@ -65,8 +65,8 @@ type
   TGLclampd = Double;
   TGLclampd = Double;
   PGLclampd = System.PDouble;
   PGLclampd = System.PDouble;
 
 
-  GLhandleARB = Cardinal;
-  PGLhandleARB = ^GLhandleARB;
+  TGLhandleARB = Cardinal;
+  PGLhandleARB = ^TGLhandleARB;
 
 
   PGLPCharArray = ^PAnsiChar;
   PGLPCharArray = ^PAnsiChar;
 
 
@@ -76,18 +76,26 @@ type
   // GL_ARB_cl_event
   // GL_ARB_cl_event
   (* These incomplete types are declare types compatible with OpenCL's
   (* These incomplete types are declare types compatible with OpenCL's
     cl_context and cl_event *)
     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)
   // the size of these depend on platform (32bit or 64bit)
-  GLintptr = NativeInt;
   TGLintptr = NativeInt;
   TGLintptr = NativeInt;
-  GLsizeiptr = NativeInt;
+  PGLintptr = ^TGLintptr;
+
   TGLsizeiptr = NativeInt;
   TGLsizeiptr = NativeInt;
-  GLsync = NativeInt;
+  PGLsizeiptr = ^TGLsizeiptr;
+
   TGLsync = NativeInt;
   TGLsync = NativeInt;
+  PGLsync = ^TGLsync;
+
+  TGLchar = Byte;
+  PGLchar = MarshaledAString;
+
+  TGLhalf = WORD;
+  PGLhalf = ^TGLhalf;
 
 
   // Windows types
   // Windows types
   PWGLswap = ^TWGLswap;
   PWGLswap = ^TWGLswap;
@@ -95,6 +103,7 @@ type
     hdc: HDC;
     hdc: HDC;
     uiFlags: UINT;
     uiFlags: UINT;
   end;
   end;
+
   TWGLswap = _WGLSWAP;
   TWGLswap = _WGLSWAP;
   WGLSWAP = _WGLSWAP;
   WGLSWAP = _WGLSWAP;
   HPBUFFERARB = Integer;
   HPBUFFERARB = Integer;
@@ -133,7 +142,7 @@ type
     message: PAnsiChar;
     message: PAnsiChar;
     userParam: Pointer); {$IFDEF MSWINDOWS}stdcall;{$ENDIF}{$IFDEF UNIX}cdecl;{$ENDIF}
     userParam: Pointer); {$IFDEF MSWINDOWS}stdcall;{$ENDIF}{$IFDEF UNIX}cdecl;{$ENDIF}
 
 
-  TGLvdpauSurfaceNV = GLintptr;
+  TGLvdpauSurfaceNV = TGLintptr;
   PGLvdpauSurfaceNV = ^TGLvdpauSurfaceNV;
   PGLvdpauSurfaceNV = ^TGLvdpauSurfaceNV;
 
 
 //------------------- OpenGL Utility (GLU) types ----------------
 //------------------- OpenGL Utility (GLU) types ----------------
@@ -5583,17 +5592,17 @@ const
   PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
 
 
   // GL_ARB_shader_objects (ARB #30)
   // 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}
   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}
   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}
   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}
   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}
   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}
   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)
   // 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)
   // GL_ARB_DrawBuffers (ARB #37)
   PFNGLDRAWBUFFERSARBPROC = procedure (n: TGLsizei; const bufs: PCardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   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}
   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}
   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}
   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}
   PFNGLMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal; access: Cardinal): PGLvoid; {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLUNMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal): TGLboolean; {$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}
   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}
   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}
   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}
   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}
   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)
   // 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}
   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}
   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)
   // 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}
   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)
   // 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}
   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)
   // 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}
   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}
   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}
   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}
   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}
   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)
   // (no entry points)
 
 
   // GL_ARB_texture_buffer_range (ARB #139)
   // 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)
   // GL_ARB_texture_query_levels (ARB #140)
   // (no entry points)
   // (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}
   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}
   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}
   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}
   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}
   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}
   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}
   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}
   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)
   // 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}
   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)
   // 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}
   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}
   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}
   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}
   PFNGLVertexAttribBinding = procedure(attribindex : Cardinal; bindingindex : Cardinal); {$IFDEF MSWINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
   PFNGLVertexBindingDivisor = procedure(bindingindex : Cardinal; divisor : 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}
   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}
   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}
   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)
   // (no entry points)
 
 
   // GL_ARB_cl_event (ARB #103)
   // 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
   // EXT/Vendor extensions